将复位发送到ESP8266后,为什么需要更改波特率?

时间:2016-11-20 19:20:57

标签: serial-port at-command esp8266 arduino-due

所以我已成功将Esp8266连接到Arduino Due。如果我选择波特率为74880,我可以通过串行监视器与它通信。然后所有命令都正确到达它并且可以正确读回。但是,当我发送重新启动Esp8266的命令AT+RST时,我无法再与它通信,需要重新打开Baudrate为115200的串行连接。每次加载新代码时,我都必须重复此操作。 Arduino或当我关闭Esp8266时。

这种行为来自哪些想法?

2 个答案:

答案 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 instruction

  
      
  1. AT + UART_DEF - 默认UART配置此命令设置UART配置并将其保存到闪存。它存储为默认值   参数,也将用作此后的默认波特率。
  2.