我想用这个简单的Python脚本对串行输入做出反应:
import serial
ser = serial.Serial('COM7', baudrate=9600, timeout=1)
while True:
data = ser.readline().rstrip()
print(data)
if (data == 'ON'):
print("I received: ON")
我在PC上通过连接到COM7的Arduino运行此脚本。其代码如下所示:
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("ON");
delay(500);
}
该cmd
输出这样的:
b'ON'
b'ON'
b'ON'
b'ON'
如您所见,串行通信正常,计算机接收到数据,但是如何检查某个单词或某个数字?我怎么了
先感谢您。
是的,我知道,这里有一个标题相同的问题,但这对我不起作用。
从输出中可以看到,接收到的数据是字节(请注意b
开头)。
您必须将其解码为字符串:
data = data.decode('utf8') # or any other encoding used by the data source
然后您可以将其与任何字符串进行比较。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句