将串行读取(ASCII)转换为浮动编号

2024-04-26 11:24:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我通过我的Raspberry Pi(python)从Arduino检索串行输出。在

使用的代码:

import serial
ser=serial.Serial('/dev/ttyACM0',115200)
while True:
    value = float(ser.readline().strip())
    print '{0:0.2f}'.format(value)

问题:我可以打印串行输出,删除了一些读数中不需要的字符,之后会出现错误“valueError:无法将字符串转换为float:”


Tags: 代码devimporttruereadlinevalueserialpi
1条回答
网友
1楼 · 发布于 2024-04-26 11:24:30

当我试图快速读取数据时,也遇到了同样的错误。发现还打印出了ASCII数据(在转换成浮点之前)。有时打印成空行。我只是放慢了速度:

while True:
   # readline, etc
   time.sleep(1)

首先我有:

在时间。睡觉(5)

Arduino也每隔0.5秒发送一次数据,所以有时还没有数据。在

相关问题 更多 >