【发布时间】:2020-08-08 05:24:22
【问题描述】:
这是我的代码:
import serial
print('Arduino is setting up')
# Setting up the Arduino board
arduinoSerialData = serial.Serial('com4', 9600)
while True:
if arduinoSerialData.inWaiting() > 1:
myData = arduinoSerialData.readline()
myData = str(myData)
myData = myData.replace("b'", '')
myData = myData.replace("\\r\\n'", '')
myData1=myData
if myData1.find("a"):
myData1= myData1.replace("a",str(0))
if int(myData1)<100:
print(myData)
此代码的作用是从连接到 arduino 板上的超声波传感器导入数据并打印出来。myData 最初以字节为单位,所以我将其转换为字符串,但我似乎无法将其转换为 @ 987654323@.当我尝试上面的代码时,我得到尝试这个代码,我得到这个错误。有人知道如何解决这个问题吗?谢谢!
【问题讨论】:
-
改用
float()? -
哇,这出乎意料的效果,但是有没有合适的方法可以将它转换为浮动?我尝试了在线给出的方法,但它们没有用
-
你没有告诉我们返回的数据格式是什么,如果不是你自己写的,你必须检查你使用的硬件/代码的文档。如果该值是一个浮点数,并且看起来是作为字符串返回的,那么这是正确的方法。
标签: python python-3.x serial-port byte arduino-uno