GPIO 唤醒深度睡眠的esp32-c3

经实验,led 必须接入c3 的gpio 20,21 脚,接入0-10脚led不亮。1脚接高电平,led亮,断开,led灭。特别注意,c3 刷入代码后,要按an键退出下载模式单片机才能正常运行。

开启程序的定时唤醒功能,led周期性隔5秒点亮一次。

代码

复制代码
#include <stdio.h>
#include "esp_sleep.h"
#include "esp_log.h"
#include "driver/gpio.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_timer.h"

#define LED 21          //led 不能接入0-10脚
#define AJ  1
void app_main(void) {
    // 配置 LED GPIO 为输出模式   gpio 0 脚为1,led 亮
    gpio_config_t io_conf;
    io_conf.intr_type = GPIO_INTR_DISABLE;
    io_conf.mode = GPIO_MODE_OUTPUT;
    io_conf.pin_bit_mask = (1ULL << LED);
    io_conf.pull_down_en = 0;
    io_conf.pull_up_en = 0;
    gpio_config(&io_conf);

     
    //配置唤醒源
    gpio_deep_sleep_hold_dis();	    //在深度睡眠时禁用所有数字gpio pad保持功能。
    esp_deep_sleep_enable_gpio_wakeup((1ULL<<AJ), ESP_GPIO_WAKEUP_GPIO_HIGH); //high
    gpio_set_direction(GPIO_NUM_1, GPIO_MODE_INPUT);	//GPIO定向,设置为输入或输出
	 
 //   esp_sleep_enable_timer_wakeup(5 * 1000000);
	
   //开始睡眠
    esp_deep_sleep_start();
    // 深度睡眠后代码将不会继续执行
	
    gpio_set_level(LED,1);
}
相关推荐
钰珠AIOT1 小时前
通过显微镜发现电池座子两端连锡短路,是直接拆掉重新换一个新的座子还是如何处理连锡?是通过热风枪还是烙铁更好?
单片机·嵌入式硬件·机器人
z20348315202 小时前
如何通过状态机解决按键识别问题(二)
c语言·单片机·嵌入式硬件
芜狄2 小时前
用寄存器点亮灯
单片机·嵌入式硬件
余生皆假期-9 小时前
硬件基础知识补全【四】通用、整流和肖特基二极管
单片机·嵌入式硬件
czhaii10 小时前
双直流电机BTS7960模块正反转程序
单片机·嵌入式硬件
一路往蓝-Anbo10 小时前
第 1 章:M33 领航——STM32MP257F-DK 硬件解密与启动逻辑重构
linux·stm32·嵌入式硬件·重构
一路往蓝-Anbo11 小时前
第 2 章:全能开发环境与交叉编译工具链构建
stm32·单片机·嵌入式硬件·网络协议
我在这里呀13 小时前
DSP 多个 PWM 同步总出问题?28377S 同步链路和主从配置一次讲清!
单片机·嵌入式硬件
余生皆假期-14 小时前
硬件基础知识补全【六】BJT 晶体管 (三极管)
单片机·嵌入式硬件
嵌入式×边缘AI:打怪升级日志14 小时前
ARM Cortex-M 单片机启动流程与向量表深度解析(保姆级复习笔记)
arm开发·笔记·单片机