gpt4 book ai didi

python - 通过串口发送和接收

转载 作者:太空宇宙 更新时间:2023-11-03 18:14:26 24 4
gpt4 key购买 nike

我在 uno 中运行了一个简单的程序,它使用 ping 传感器测量距离,现在我正在尝试根据 python 中的距离来控制一些伺服系统,但即使在这样的简单代码中,条件性的东西也无法工作

import serial
data = serial.Serial('COM7',9600)
while(1):
if(data.inWaiting()>0):
dist = data.readline()
if(dist>100):
print("dist is greater than 100")
else:
print("this shit does not work")

如果有效的话,我是菜鸟,请帮助我!

最佳答案

串口数据类型为str

您正在尝试读取数据并使用 if .... > 100 这永远不会起作用。

您需要将数据读取到缓冲区然后检查它,还需要一些同步帧来知道您已获得所有数据(这不是必须的,但更容易)

例如,假设读取的数据是 100!! 是您的同步帧。

import serial
my_serial = serial.Serial('COM7',9600)
my_data = ""
while(1):
if(my_serial.inWaiting()>0):
my_data = my_serial.readline()
if '!' in my_data:
break

my_data = [:my_data.find("!")]
if int(my_data) > 100:
print("dist is greater than 100")
else:
print("this shit does not work")

关于python - 通过串口发送和接收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25228520/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com