如何使用串行数据创建“ if”语句?

问题描述

我正在编写一个python脚本,该脚本将从串行端口收集数据。我能够收集数据,并在数据出来时说b'1',我想对它是否做为b'1'一个if语句,然后希望它运行一个函数

这是我的代码

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':
    ...

应该可以解决问题。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...