Python的打印与Arduino串行监视器不同

jchrr9hc  于 2023-02-15  发布在  Python
关注(0)|答案(1)|浏览(134)

我试图从ESP32的闪存读取一些 * float * 值。它们每行存储一个。我想用Python绘制这些值,但从串行监视器和Arduino的串行监视器读取的值都不同。
Arduino示例代码:

while(file.available()){

    num = file.parseFloat();
    str = String(num, 3);

    Serial.println(str);
    //Serial.println(num);
    
  }

  Serial.println("\nDone");

Python代码:

while(1):
    line = ser.readline()   # read a byte string
    if line:
        string = line.decode()  # convert the byte string to a unicode string
        
        if ("Done" in string):
            break

        #num = float(string) # convert the unicode string to a float
        
        print(string)
        #print(num)

我尝试了直接在Arduino中打印浮点数以及将其转换为字符串,这两种方法在Arduino的串行监视器中都能很好地工作,但在Python读取中都不起作用。
在照片中,你可以看到一些值只是thrash(ex-0. 50. 000)。有什么想法来修复吗?谢谢!

2admgd59

2admgd591#

最后,我通过将波特率从115200降低到9600来解决这个问题。

相关问题