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

本文详细介绍了ESP32的深度睡眠模式及其五种唤醒方式:计时器、外部唤醒(ext0)、外部唤醒(ext1)、ULP协处理器唤醒和触摸板唤醒。在进入深度睡眠前,需设置唤醒源。示例程序展示了如何配置ESP32通过外部中断、定时器和触摸板三种方式唤醒。
摘要由CSDN通过智能技术生成

步骤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控制器包含使用电容式触摸传感器触发警报的逻辑。但是,触针的定义不同。我们必须对每个所需的引脚使用触摸中断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值