我该如何编写代码以便当我收到“hello”时它运行一个函数?
import serial
ser = serial.Serial(port='/dev/tty.usbmodem11201',baudrate=9600)
while True:
value= ser.readline()
valueInString=str(value, 'UTF-8')
print(valueInString)
if ser.is_open == hello:
print("Hi")
这是我所看到的,但它不起作用。我该如何让它工作?谢谢!
您需要完善“if”语句。它应该是:
ser.is_open
只是一个布尔值,表示串行通信是否打开。您想要比较的valueInString
是"hello"
另外,考虑在定义
.strip()
中添加valueInString
以删除空格,如下所示:ser.is_open == hello
是错误的。它检查串行端口是否打开,而不是检查消息是否打开"hello"
。if valueInString.strip() == "hello":