我在pyserial和windows上遇到了一些问题(在linux上,它可以很好地使用相同的代码);我似乎在写错误的字节。在
代码甚至可以在DebianVM内的同一台机器上正常工作,所以我很确定这是一个软件问题。在
我使用的是python2.7.632bit,pyserial2.7,但是尝试过其他版本(2.5和2.4)都存在相同的错误。在
有趣的是,当波特率增加到115200时,错误发生的频率会降低很多。在
这是我代码的相关部分:
ser = serial.Serial()
ser.timeout = 0.1
ser.port = "COM74"
ser.baudrate = 9600
ser.bytesize = 8
ser.parity = "N"
ser.stopbits = 1
ser.open()
ser.write("AT+CMGR\r")
search("OK", 5, rec, ser)
ser.write("AT+CGSN\r")
search("OK", 5, rec, ser)
ser.write("AT+CSQ\r")
search("OK", 5, rec, ser)
ser.write("AT+CREG?\r")
search("OK", 5, rec, ser)
ser.close()
当被测试时,输出如下:(在回声开启的情况下写入自动放音设备):
^{pr2}$我可以确认“received:”之后的内容(无引号,除了“ERROR”和设备生成的一些CR NL字符)是设备实际接收到的内容:
A\xa8+CMGR\r
AT+C\x87SN\r
AT+CS\xd1\r
A\xa8+CREG?\r
如果有人能提出解决办法,我会选择葡萄柚
我在windows和Serial中使用AT命令,我没有这些问题,我想这与编码有关。在
你能试试这个吗AT Commander
试着连接你的设备,看看你是否得到了正确的响应如果同样的话,问题就出在你的设备上了。在
相关问题 更多 >
编程相关推荐