如何使用串行数据创建 "if" 语句?
How do I make an "if" statement with serial data?
我正在编写一个 python 脚本,它将从串行端口收集数据。我能够收集数据,当它出来时它说 b'1'
我想做一个 if 语句,如果它以 b'1'
形式出现,那么我希望它成为 运行 一个函数。
这是我的代码。
import serial
import time
z1baudrate = 115200
z1port = '/dev/ttyACM0'
z1serial = serial.Serial(port=z1port, baudrate=z1baudrate)
z1serial.timeout = 2
print (z1serial.is_open)
if z1serial.is_open:
while True:
size = z1serial.inWaiting()
if size:
data = z1serial.read(size)
print (data)
else:
print ("no data")
time.sleep(1)
else:
print("z1serial not open")
我该怎么办?
您可以对字节使用“==”运算符。
if z1serial.is_open == b'1':
...
应该可以解决问题。
我正在编写一个 python 脚本,它将从串行端口收集数据。我能够收集数据,当它出来时它说 b'1'
我想做一个 if 语句,如果它以 b'1'
形式出现,那么我希望它成为 运行 一个函数。
这是我的代码。
import serial
import time
z1baudrate = 115200
z1port = '/dev/ttyACM0'
z1serial = serial.Serial(port=z1port, baudrate=z1baudrate)
z1serial.timeout = 2
print (z1serial.is_open)
if z1serial.is_open:
while True:
size = z1serial.inWaiting()
if size:
data = z1serial.read(size)
print (data)
else:
print ("no data")
time.sleep(1)
else:
print("z1serial not open")
我该怎么办?
您可以对字节使用“==”运算符。
if z1serial.is_open == b'1':
...
应该可以解决问题。