esp32外部中断_唤醒ESP32的三种不同方法

步骤1:简介

ESP32具有以下功能:省电模式,称为“深度睡眠”。在这种模式下,CPU,大多数RAM和所有数字时钟外围设备都将关闭。芯片上唯一仍可连接的部分是RTC控制器,RTC外设(包括ULP协处理器)和RTC存储器。

我们有几种方法可以在睡眠时唤醒ESP32。进入深度睡眠模式之前,可以随时设置唤醒源。

步骤2:唤醒ESP32的方法

有五种唤醒ESP32的方法:

•计时器

•外部唤醒(ext0)

•外部唤醒(ext1)

•ULP协处理器唤醒

•触摸板

步骤3:计时器

RTC控制器具有内置的计时器,在预定的时间段后,可用于激活芯片。时间以微秒精度指定。

esp_deep_sleep_enable_timer_wakeup( uint64_t time_in_us )

time_in_us》是以微秒为单位的时间

步骤4:外部唤醒(ext0)

当RTC GPIO之一进入预定义的逻辑级别时,RTC IO模块包含触发警报的逻辑。 RTC IO是RTC外设电源域的一部分,因此,如果请求此激活源,则在深度睡眠期间RTC外设将保持活动状态。

esp_deep_sleep_enable_ext0_wakeup( gpio_num_t gpio_num , int level)

gpio_num》使用的GPIO编号作为激活源。只能使用RTC功能的GPIO:0,2,4,12-15,25-27,32-39。

level》输入级别将触发警报(0 = LOW,1 =高)

步骤5:外部唤醒(ext1)

RTC控制器包含使用多个RTC GPIO触发闹钟的逻辑。

esp_deep_sleep_enable_ext1_wakeup(uint64_t mask, esp_ext1_wakeup_mode_t mode)

mask》会导致激活的GPIO编号的位掩码。此位图中只能使用启用RTC的GPIO:0,2,4,12-15,25-27,32-39。

mode》选择用于确定激活条件的逻辑功能:

•ESP_EXT1_WAKEUP_ALL_LOW:在所有选定的GPIO都为LOW时唤醒

•ESP_EXT1_WAKEUP_ANY_HIGH:在任何选定的GPIO为HIGH时唤醒

步骤6 :ULP协处理器唤醒

当芯片处于深度睡眠状态时,ULP协处理器可以运行,并且可以用于搜索传感器,监视ADC或电容式触摸传感器的值,并在特定事件发生时激活芯片

ULP协处理器是RTC外围设备电源域的一部分,并运行存储在慢速存储器RTC中的程序。因此,如果请求此激活模式,则在深度睡眠期间将激活RTC外设和RTC慢速存储器。

步骤7:触摸板

RTC控制器包含使用电容式触摸传感器触发警报的逻辑。但是,触针的定义不同。我们必须对每个所需的引脚使用触摸中断。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部