esp8266启动模式 - 如何理解'rst cause:2, boot mode:(3,6)'
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 |