8266模块启动或者出现问题后重启时会输出类似‘rst cause:2, boot mode:(3,6)’的消息,这个模块的启动消息可以看出启动的原因和模式。

rst cause:2, boot mode:(3,6)

‘rst cause’

‘rst cause’含义如下:

编号 描述
0 unknown
1 normal boot
2 reset pin
3 software reset
4 watchdog reset

‘boot mode’

消息中内容的‘boot mode:(x,y)’中的‘x’表示GPIO ‘15/0/2’ 3个端口的二进制数(有电压为1,没电压为0)。

启动模式 = ((GPIO15 << 2) | (GPIO0 << 1) | GPIO2);

由于模块启动的时候会检查0/2/15端口的状态,理解这个数字的意义需要先了解模块的启动模式。

启动模式 GPIO15 (MTDO) GPIO0 GPIO2 启动模式
0 0V 0V 0V 无效
1 0V 0V 3.3V Uart bootloader
2 0V 3.3V 0V 无效
3 0V 3.3V 3.3V SPI flash (Boot sketch)
4 3.3V 0V 0V SDIO
5 3.3V 0V 3.3V SDIO
6 3.3V 3.3V 0V SDIO
7 3.3V 3.3V 3.3V SDIO

参考资料