如何使用串行数据创建 "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':
    ...

应该可以解决问题。