8266能否分辨唤醒方式-Arduino中文社区 - Powered by Discuz! Archiver

vincesketch 发表于 2021-9-27 13:33

8266能否分辨唤醒方式

deepsleep之后,如何判断是手动按复位唤醒的,还是睡眠时间到了定时器唤醒的?

XlinliY.Zhang 发表于 2021-9-27 15:59

ESP8266 的 DEEPSLEEP貌似就是拉RST唤醒的

lwq1947 发表于 2021-9-28 05:40

https://club.gizwits.com/forum.php?extra=page%3D1&mod=viewthread&page=1&tid=5969

vincesketch 发表于 2021-9-28 08:46

XlinliY.Zhang 发表于 2021-9-27 15:59
ESP8266 的 DEEPSLEEP貌似就是拉RST唤醒的

是的,定时唤醒也是通过IO16连接RST。我估计可以通过RTC相关的功能判断,不过暂时比较头大研究这么细,所以先问问

vincesketch 发表于 2021-9-28 08:50

lwq1947 发表于 2021-9-28 05:40
https://club.gizwits.com/forum.php?extra=page%3D1&mod=viewthread&page=1&tid=5969

谢谢,借楼标记下关键词 RTC Memory

pococo 发表于 2021-9-28 16:30

学习一下子:)

跑龙套的保 发表于 2021-9-28 17:44

有函数的
struct rst_info *rtc_info = system_get_rst_info();
rtc_info->reason就是重启原因
有这几种状态
enum rst_reason {
    REASON_DEFAULT_RST      = 0,    /* normal startup by power on */
    REASON_WDT_RST          = 1,    /* hardware watch dog reset */
    REASON_EXCEPTION_RST    = 2,    /* exception reset, GPIO status won’t change */
    REASON_SOFT_WDT_RST   = 3,    /* software watch dog reset, GPIO status won’t change */
    REASON_SOFT_RESTART   = 4,    /* software restart ,system_restart , GPIO status won’t change */
    REASON_DEEP_SLEEP_AWAKE = 5,    /* wake up from deep-sleep */
    REASON_EXT_SYS_RST      = 6   /* external system reset */
};

vincesketch 发表于 2021-9-29 13:17

跑龙套的保 发表于 2021-9-28 17:44
有函数的
就是重启原因
有这几种状态

nice!!我就觉得会有!这函数哪找到的呀,是不是乐鑫的底层函数啊
页: [1]
查看完整版本: 8266能否分辨唤醒方式