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);
}
相关推荐
hi941 小时前
PYNQ 框架 - 中断(INTR)驱动
嵌入式硬件·fpga开发·zynq·pynq
夏天匆匆2过1 小时前
linux性能提升之sendmmsg和recvmmsg
linux·c++·单片机·网络协议·udp·tcp
ice小游1 小时前
使用ATmega328p芯片制作Arduino Uno R3开发板
嵌入式硬件·arduino·开发板·芯片·atmega328p
iot鑫鹏7 小时前
STM32问题集
stm32·单片机·嵌入式硬件
stm32发烧友1 天前
基于STM32的智能家居安防系统设计
stm32·嵌入式硬件·智能家居
LightningJie1 天前
STM32(hal库)中的定时器从模式TIM_SlaveConfigTypeDef结构体中的含义,以及可选参数的含义都是什么意思
stm32·单片机·嵌入式硬件
小齿轮lsl1 天前
无桥Boost-PFC 双闭环控制MATLAB仿真
单片机·嵌入式硬件·matlab·电力电子·电源硬件·pfc
Matlab程序猿小助手1 天前
【MATLAB源码-第213期】基于matlab的16QAM调制解调系统软硬判决对比仿真,输出误码率曲线对比图。
开发语言·嵌入式硬件·算法·matlab·机器人
鱼与仙人掌1 天前
STM32:ADC
stm32·单片机·嵌入式硬件
yangpipi-1 天前
Linux系统程序设计--2. 文件I/O
linux·stm32·单片机