我已经对设备 (Trinket M0 3V) 进行了编程,以通过虚拟 COM 端口与 Python 进行交互。当我在串行监视器中测试它时,它工作得很好,但是当我切换到 PySerial 时,我遇到了问题。具体来说,我执行以下操作:
import serial
ser = serial.Serial(physicalAddress, timeout = 5)
command = 'bogus\r'.encode()
ser.write(command)
response = ser.readline()
我得到的响应
只是我在其前面的行中编写的命令。但是,当我再次执行 ser.readline()
时,我确实得到了我需要的响应。由于当我尝试在串行监视器上进行通信时一切正常,这表明我在使用 PySerial 时缺少一些东西,但这就是我所能得到的。
最佳答案
您找到https://www.thecodingforums.com/threads/pyserial-unexpected-local-echo.711453/的信息了吗? ?
它必须链接到回声的处理方式,并且该链接提供了查看回声是本地还是远程的步骤,以及更多...
我没有找到任何有关 PySerial 完成的本地回显的信息!
但是在串行监视器(哪一个?)上,似乎可以对其进行配置,因此您没有看到它!? (https://community.platformio.org/t/solved-enable-just-local-echo-in-serial-monitor/539)
关于python - PySerial readline() 首先返回命令,然后返回答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54392262/