我正在一个项目中,我正在通过串行通信从arduino获取数据。所以我打开ser = serial.Serial('/dev/ttyACM1', 9600)
,一切正常。关键是我编写了这段代码来检查何时获取的数据为0,但我无法正常工作。
while True:
try :
a = ser.readline()
# i do that because the input stream is smthg like b' 16.894548\r\n'
data = a.decode('utf-8')
print(a is str(str(0).encode('utf-8').decode('utf-8', "strict")))
我尝试了很多事情,例如获取sizeof,进行编码和解码,以及将所有内容都解码后变成str
。但是仍然没有运气。
有任何想法吗?
答案 0 :(得分:2)
请注意,末尾有换行符。 '0' != '0/r/n'
。
尝试
a = ser.readline()
print(a.decode().strip() == '0')