因此,我尝试使用Python从我的Arduino板上的DS18B20温度传感器读取值。在我的python代码中,我使用Pyserial访问端口,下面是代码。你知道吗
import serial
def readTemp():
temp = serial.Serial('COM3', 9600)
line = temp.readline().strip()
while line:
print(line.strip())
line = temp.readline().strip()
temp.close()
def main():
readTemp()
main()
在我的Arduino代码中,我对它进行了编码,以便输出数字。在下面是Arduino的输出:
21.3125
22.3750
22.3750
22.3750
22.3750
但是,当我运行Python代码时,输出中添加了一些字母和引号,但我不知道为什么以及如何删除它们。下面是Python的输出。你知道吗
b'22.3750'
b'22.0625'
b'22.0625'
b'22.0625'
b'22.0625'
其次,当人们在shell上运行python脚本时,通常会出现一个“>;>;”,表示正在运行的进程已经完成,然后shell就可以关闭了。但是,在输出python脚本之后,脚本似乎仍在运行,因为没有出现“>;”。我尝试使用ctrl+c来终止,但是无法,当我尝试关闭shell时,会出现一个弹出窗口,上面写着“你的程序还在运行,你想终止它吗?”。那么,在输出打印出来之后,有没有办法完成运行呢?你知道吗
我是Python新手,刚刚学会pyserial。非常感谢你的帮助。你知道吗
关于第一个问题
别担心,这些值是以字节的形式读取的。b前面表示字节。你可以把它转换成字符串 使用解码('utf-8')。你知道吗
代码中需要更改
替换
与
关于第二个问题, 您的进程尚未完成,因为它正在侦听设备。 条件
使过程保持活力。你知道吗
如果希望程序只读取一个值并退出,可以使用If而不是while。你知道吗
相关问题 更多 >
编程相关推荐