更新:
我发现问题出在PL2303上。我借助Arduino将ESP的BAUD速率降低到9600 bps。与PL2303的制造商联系,并在收到通知后使用说明更新帖子。
我正在尝试让ESP-201(ESP8255的变体)在Windows主机上运行。我的目的是通过获取AT命令的OK响应来正确配置设置和验证。
我已阅读到PL2303 PC端的默认波特率是9600,ESP-201的波特率是115200。我怀疑ESP无法正确接收正在发送的数据,因此我尝试配置BAUD费率。我尝试使用Python进行此操作,因为PuTTY连接到设备,但不允许我向终端提供任何输入。因此,我试图在不将ESP连接到PL2303的情况下运行此Python代码。
import serial
esp = serial.Serial(port="COM5", baudrate=9600, timeout=1)
esp.write(b"PLBAUD 115200")
time.sleep(500)
print(esp.readline())
esp.write(b"BAUD 115200")
time.sleep(500)
print(esp.readline())
这应该首先将PL2303的ESP侧BAUD速率设置为115200,然后将PC侧BAUD速率设置为115200。但是在Windows中更改BAUD速率设置后,发送带有以下代码的AT命令不会产生预期的OK响应设备管理器的BAUD设置并插入ESP模块。
import serial
esp = serial.Serial(port="COM5", baudrate=115200, timeout=1)
esp.write(b"AT\r\n")
print(esp.readline())
如果发送的字符串使用UTF-8,我将它们手动编码为十六进制,然后再次发送,结果没有改变。
答案 0 :(得分:0)
我已经联系了此模块的制造商Waveshare,并了解到主机PC和此适配器的TTL侧的设备必须具有相同的波特率才能正常工作。将它们都设置回115200即可解决。
这是因为适配器没有适应BAUD速率的缓冲区,而不是它是传递设备。