在python中读取和解码串行端口时出现问题

2024-07-03 06:45:55 发布

您现在位置:Python中文网/ 问答频道 /正文

现在我使用python串行模块来读取串行端口。我正在用putty给我自己的计算机发送一些值来测试这个程序。我能够从我的串行端口读写没有问题。我唯一有问题的是当我从串行端口解码我的读取值时。它似乎改变了一些使我不能使用像“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()

Tags: 模块端口import程序iftimemain计算机