所以我已成功将Esp8266连接到Arduino Due。如果我选择波特率为74880,我可以通过串行监视器与它通信。然后所有命令都正确到达它并且可以正确读回。但是,当我发送重新启动Esp8266的命令AT+RST
时,我无法再与它通信,需要重新打开Baudrate为115200的串行连接。每次加载新代码时,我都必须重复此操作。 Arduino或当我关闭Esp8266时。
这种行为来自哪些想法?
答案 0 :(得分:3)
在这里,您解释了这种行为的起源在哪里:
74880 Bd的波特率是ESP' native'系统本身在启动过程中发送自动发送调试消息的波特率,以防船上使用26 MHz而不是40 MHz晶振 - 我们可以看到,主要是是的情况。
使用40 MHz晶振时,波特率符合预期(115200),但使用26 MHz晶振,波特率为115200 * 26/40 = 74880
。
在引导加载程序结束后,波特率以其他方式控制,这就是为什么你有两个不同的波特率 - 第一个是默认的波特率(74880),第二个是后来有效的波特率(你可以使用的那个)设定)。
我通常将波特率设置为74880,因此我可以看到自动生成的消息和我从代码发送的消息。
答案 1 :(得分:0)
为了在重置后设置UART波特率持久性,您应该使用AT+UART_DEF
。
- AT + UART_DEF - 默认UART配置此命令设置UART配置并将其保存到闪存。它存储为默认值 参数,也将用作此后的默认波特率。
醇>