当前位置: 首页 > news >正文

GPIO 唤醒深度睡眠的esp32-c3

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

9808077669754923a15f338bbb19b87f.jpg

代码

#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"
#include "esp_system.h"
#include "driver/gpio.h"
#include "nvs_flash.h"
#include "nvs.h"#define LED 21          //led 不能接入0-10脚
#define AJ  1void 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);//   esp_sleep_enable_timer_wakeup(5 * 1000000);esp_sleep_wakeup_cause_t   hxbz = esp_sleep_get_wakeup_cause();  //取得唤醒的类型,第一次开机类型不属于gpio,led不亮// 判断是否是深度睡眠唤醒if (hxbz == ESP_SLEEP_WAKEUP_GPIO) {    //GPIO唤醒     if条件内的语句就是唤醒后要执行的语句,如连接WiFi都行gpio_set_level(LED,1);vTaskDelay(5000/portTICK_PERIOD_MS);   //延时5秒gpio_set_level(LED,0);		} //配置唤醒源gpio_deep_sleep_hold_dis();	    //在深度睡眠时禁用所有数字gpio pad保持功能。esp_deep_sleep_enable_gpio_wakeup((1ULL<<AJ), ESP_GPIO_WAKEUP_GPIO_HIGH); //highgpio_set_direction(GPIO_NUM_1, GPIO_MODE_INPUT);	//GPIO定向,设置为输入或输出esp_deep_sleep_start();
}


http://www.mrgr.cn/news/69852.html

相关文章:

  • 软件设计课程笔记
  • Hadoop(YARN)
  • 力扣.15 三数之和 three-sum
  • [CKS] K8S AppArmor Set Up
  • 如何开展小组讨论以强化员工对六西格玛的关注度?
  • 【SpringBoot】18 上传文件到数据库(Thymeleaf + MySQL)
  • CouchdbH2database未授权
  • arkUI:相对布局(RelativeContaine)
  • 环形链表问题(图 + 证明 + 题)
  • Kruskal和Prim
  • 【前端打包必看】webpack入口与出口配置全解析(8)
  • c++常用的新特性-->day04
  • 布耗!对面是炸鱼的!!快让我的18岁舍友直接帮我拿下对局——如何用HarmonyOS鸿蒙操作系统实现自由流转
  • 软考设计师2024下回忆
  • 【C++】新手入门指南
  • MATLAB和R及Python伪时间分析
  • OJ算法练习(双指针篇)
  • 网络入门基础
  • 餐饮小程序的生意模式渠道发展
  • CMS垃圾收集器和G1垃圾收集器详解
  • 24/11/10 算法笔记 强化学习A3C
  • 零基础友好:柑橘果实成熟度分割
  • 农业科技创新引领新时代,农业强国梦想触手可及!
  • 探索 Linux 系统:开源世界的璀璨明珠
  • Linux mint系统推荐软件
  • 大数据技术在智慧医疗中的应用