我试图从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)。有什么想法来修复吗?谢谢!
1条答案
按热度按时间2admgd591#
最后,我通过将波特率从115200降低到9600来解决这个问题。