【发布时间】:2021-04-20 17:22:10
【问题描述】:
print(msg) 的响应是 b' ',我期待“OK”响应。
import serial
ser = serial.Serial(port='COM57')
if not ser.isOpen():
ser.open()
print('COM57 is open', ser.isOpen())
at_cmd = 'AT'
ser.write(at_cmd.encode())
msg = ser.read(2)
print(msg)
print(type(msg))
ser.close()
【问题讨论】:
-
愚蠢的问题,但在另一端真的有兼容 Hayes 的调制解调器吗?
-
您也可以使用
at_cmd = b'AT'跳过以下行中的.encode()。 -
另外,我没有看到你在
AT之后发送换行符(正如@hobbs 在我下面的评论中更详细地描述的那样)。 -
(也就是说,我很惊讶
read(2)完全返回数据而不是无限期地阻塞;如果在开始之前缓冲区中有内容,您可能希望确保它被消耗;而如果线路配置错误并且在应该传输的字节位置产生噪音,这就是一个完整的“需要单独解决的另一个问题” -
@Arusekk,谢谢你的建议。
标签: python pyserial at-command