当我将字节写入串口时,我得到了我想要的数据,但是没有出现我的序列没有这个。我怎样才能删除"无&# 34 ;? 谢谢!
#encoding = utf-8
import serial
def getValues():
ser = serial.Serial('COM3', baudrate=9600, timeout=1)
str = 'ZREADMACS'
ser.write(bytes(str, encoding='utf8'))
data = ser.readline()
print(data)
while 1:
# data = ser.readline()
# if data:
# print(str(data)[2:63])
# else:
# print(getValues())
userInput = input('Are you kidding me?')
if userInput == "1":
print(getValues())
这样的输出,但我不想要"无"。
Are you kidding me?1
b'client:TESTR~~address:R0003~~radiation:01000~~voltage:21000~~current:21000~~temprature:01000~~Li_power:02000~~time_delay:00010~~acs_712_zero:00000~~'
None
Are you kidding me?1
b'client:TESTR~~address:R0003~~radiation:01000~~voltage:21000~~current:21000~~temprature:01000~~Li_power:02000~~time_delay:00010~~acs_712_zero:00000~~'
None
答案 0 :(得分:0)
在您的代码中,您拨打print
两次。
首次使用data
进行调用时,data
已分配给readline
结果。
第二次,您可以直接在getValues()
结果上调用它。
这里的问题是getValues()
没有返回任何内容,因此python将其翻译为None
,然后打印出来。
如果删除最后一个print
,那就很好。
您还可以将return data
添加到getValues()
功能。