现在,我正在使用python串行模块读取串行端口。我正在使用腻子向自己的计算机发送一些值来测试该程序。我可以从串行端口进行读写,而不会出现问题。我唯一有问题的是当我从串行端口解码读取值时。似乎在某种程度上改变了值,这使我无法使用“ while”和“ if”之类的逻辑。好像它的值与我打印出来的值不同。例如,如果我向串行端口发送一个A并在下面的代码中打印出DecodeVal,它将给我一个“ A”,但不会使我脱离while循环。有人有建议吗?
import serial
import time
def main():
DecodeVal = 0
ser1 = serial.Serial('COM7',2400,timeout=1)
while(DecodeVal != "A"):
time.sleep(5)
ReadVal = ser1.read(1000)
DecodeVal = ReadVal.decode('utf-8')
print(DecodeVal)
print('broke out')
if __name__ == "__main__":
main()