接前一篇文章:乐鑫浅度休眠例程详细解析(1)
README.md
例程输出
定时器唤醒
如果不对例程进行任何操作,芯片将按计时器每2000毫秒唤醒一次,并在打印一些日志后再次进入浅睡眠状态。在这种情况下,可以看到唤醒的原因是计时器。
GPIO唤醒
对于这个示例,唤醒GPIO绑定到板上的“BOOT”按钮,我们可以通过按下“BOOT“按钮将芯片从浅睡眠中唤醒,芯片将在我们按下按钮后立即唤醒。在这种情况下,可以看到唤醒原因是引脚。如果松开按钮,芯片将再次进入浅睡眠状态。
UART唤醒
对于这个示例,唤醒UART绑定到默认控制台端口(UART_NUM_0),我们可以通过在键盘上输入一些按键将芯片从浅睡眠状态唤醒。可以看到,在这种情况下,唤醒的原因是uart。
注意:
- 在此示例中,UART唤醒阈值设置为3,这意味着唤醒芯片的输入字符的ascii码应该至少有3个上升沿(包括每个字符的停止位)。例如,字符0的ascii代码在二进制中为0011 0000,它只包含2个上升沿,因此字符0不足以唤醒芯片。
- 仅支持将UART0和UART1(如果有的话)配置为唤醒源。对于ESP32,必须使用iomux引脚来接收信号(即GPIO3用于UART0,GPI