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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1479|回复: 7

8266能否分辨唤醒方式

[复制链接]
发表于 2021-9-27 13:33 | 显示全部楼层 |阅读模式
deepsleep之后,如何判断是手动按复位唤醒的,还是睡眠时间到了定时器唤醒的?
发表于 2021-9-27 15:59 | 显示全部楼层
ESP8266 的 DEEPSLEEP貌似就是拉RST唤醒的
发表于 2021-9-28 05:40 | 显示全部楼层
 楼主| 发表于 2021-9-28 08:46 | 显示全部楼层
XlinliY.Zhang 发表于 2021-9-27 15:59
ESP8266 的 DEEPSLEEP貌似就是拉RST唤醒的

是的,定时唤醒也是通过IO16连接RST。我估计可以通过RTC相关的功能判断,不过暂时比较头大研究这么细,所以先问问
 楼主| 发表于 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
发表于 2021-9-28 16:30 | 显示全部楼层
学习一下子
发表于 2021-9-28 17:44 | 显示全部楼层
有函数的
  1. struct rst_info *rtc_info = system_get_rst_info();
复制代码
  1. rtc_info->reason
复制代码
就是重启原因
有这几种状态
  1. enum rst_reason {
  2.     REASON_DEFAULT_RST      = 0,    /* normal startup by power on */
  3.     REASON_WDT_RST          = 1,    /* hardware watch dog reset */
  4.     REASON_EXCEPTION_RST    = 2,    /* exception reset, GPIO status won’t change */
  5.     REASON_SOFT_WDT_RST     = 3,    /* software watch dog reset, GPIO status won’t change */
  6.     REASON_SOFT_RESTART     = 4,    /* software restart ,system_restart , GPIO status won’t change */
  7.     REASON_DEEP_SLEEP_AWAKE = 5,    /* wake up from deep-sleep */
  8.     REASON_EXT_SYS_RST      = 6     /* external system reset */
  9. };
复制代码

 楼主| 发表于 2021-9-29 13:17 | 显示全部楼层
跑龙套的保 发表于 2021-9-28 17:44
有函数的
就是重启原因
有这几种状态

nice!!我就觉得会有!这函数哪找到的呀,是不是乐鑫的底层函数啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 10:39 , Processed in 0.244503 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表