当前位置:网站首页>Esp32-ulp coprocessor low power mode RTC GPIO interrupt wake up
Esp32-ulp coprocessor low power mode RTC GPIO interrupt wake up
2022-07-07 08:50:00 【Morning breeze】
Chen Tuo 2022/07/06-2022/07/06
1. summary
This example shows when ULP adopt WAKE Command to RTC When the controller sends an interrupt signal , How should the main program configure the interrupt handling function to respond to the interrupt signal .
- RTC GPIO
RTC GPIO Altogether 18 individual IO mouth , these GPIO Pins have low power consumption RTC Performance and simulation functions , And by the ESP32 Of RTC Subsystem control . These functions are not used IO_MUX and GPIO Commutative matrix , But use RTC_MUX take IO Point to RTC Subsystem .
When these pins are configured as RTC GPIO When pin , As an output pin, the chip can be in Deep-Sleep Keep the output level value in sleep , Or when used as an input pin, the chip can be removed from Deep-Sleep Wake up in the .
The following table lists them RTC Pin and its corresponding GPIO Pin
ULP Interrupt sending official routine in ESP-IoT-Solution In the library :
- ESP-IoT-Solution brief introduction
RTC GPIO
Official documents :
https://docs.espressif.com/projects/espressif-esp-iot-solution/zh_CN/latest/gettingstarted.html
- ESP-IoT-Solution edition
Different versions ESP-IoT-Solution The explanation is as follows :
- ESP-IoT-Solution Programming Guide
https://docs.espressif.com/projects/espressif-esp-iot-solution/zh_CN/latest/index.html
2. obtain ESP-IoT-Solution
- Get orders
If from the official of Lexin github Library Download is difficult , You can start with gitee Clone a library on , And then from gitee Upload and download . Here is the download from my cloned Library , My library is private , You need to clone one yourself .
- download esp-iot-solution v1.1
cd ~/esp
git clone -b release/v1.1 --recursive https://gitee.com/chentuo2000/esp-iot-solution.git
from gitee When downloading clone library , The subject is going well , Having trouble downloading submodules , You need to manually download the following sub modules :
Download manually according to the source and the corresponding installation path .
If you still can't download , You can download this from the link below 3 Sub module :
download Adafruit-GFX-Library.tar.gz
https://download.csdn.net/download/chentuo2000/85481416
download ugfx.tar.gz
https://download.csdn.net/download/chentuo2000/85481491
download lvgl.tar.gz
https://download.csdn.net/download/chentuo2000/85481538
3. development environment
《 Use Lexin domestic Gitee Image building ESP32 development environment 》
https://zhuanlan.zhihu.com/p/348106034
https://blog.csdn.net/chentuo2000/article/details/113424934?spm=1001.2014.3001.5501
4. Build the project
- Official routine
ULP Example of interrupt sending program :
https://github.com/espressif/esp-iot-solution/tree/release/v1.1/examples/ulp_examples/ulp_send_interrupt
according to ULP Of WAKE Instructions :
-- If the Lord CPU In sleep mode , And ULP Wakeup is enabled , Then the interrupt signal will wake up the master CPU;
-- If the Lord CPU In non sleep mode , And RTC Interrupt enable register (RTC_CNTL_INT_ENA_REG) Corresponding ULP Interrupt enable bit (RTC_CNTL_ULP_CP_INT_ENA) To be placed , Then the interrupt signal will trigger RTC The controller generates an interrupt ;
The following is a ULP Interrupt registration and interrupt handling functions :
- Copy official routine
Copy the official example project to ESP-IDF Beyond development tools :
cd ~/esp
cp -r ~/esp/esp-iot-solution/examples/ulp_examples/ulp_send_interrupt ~/esp/
- Project tree
cd ulp_send_interrupt
- Refresh esp-idf Environmental Science
get_idf
Be careful : Each time you open the terminal, enter sdk Execute this command once
- Set the target chip
idf.py set-target esp32
- Clear previous builds
- Configuration items
idf.py menuconfig
1) Set up Flash The memory size is 4MB
2) ULP It is enabled by default
3) choice Support array 'rtc_gpio_desc' fot ESP32
Otherwise, there will be error: 'rtc_gpio_desc' undeclared
preservation , sign out .
- Compile the project
idf.py build
- Burn project
see USB Serial port COM slogan :
burning :
idf.py -p /dev/ttyS3 -b 115200 flash
- Enable monitor
idf.py monitor -p /dev/ttyS3
5. Sample test
After example startup ,ULP Will always be in a cycle ( Time is 20ms) Running state , testing GPIO0 Is it pressed . When the key is pressed and released :
-- If the Lord CPU In sleep mode , Then this operation will wake up the master CPU;
-- If the Lord CPU In non sleep mode , Then this operation will send a RTC interrupt , After the interrupt program completes the corresponding processing , Will the Lord CPU Set to enter sleep mode ;
The log of the system is printed as follows :
边栏推荐
- POJ - 3616 Milking Time(DP+LIS)
- GoLand set goproxy
- Nanjing commercial housing sales enabled electronic contracts, and Junzi sign assisted in the online signing and filing of housing transactions
- let const
- let const
- 关于基于kangle和EP面板使用CDN
- Data type - integer (C language)
- 联想混合云Lenovo xCloud:4大产品线+IT服务门户
- 路由信息协议——RIP
- Greenplum6.x-版本变化记录-常用手册
猜你喜欢
快速集成认证服务-HarmonyOS平台
[Nanjing University] - [software analysis] course learning notes (I) -introduction
Data analysis methodology and previous experience summary 2 [notes dry goods]
JS的操作
调用华为游戏多媒体服务的创建引擎接口返回错误码1002,错误信息:the params is error
idea里使用module项目的一个bug
【MySQL】数据库进阶之触发器内容详解
Greenplum 6.x version change record common manual
Oracle makes it clear at one time that a field with multiple separators will be split into multiple rows, and then multiple rows and columns. Multiple separators will be split into multiple rows, and
如何在HarmonyOS应用中集成App Linking服务
随机推荐
Shell script for changing the current folder and the file date under the folder
All about PDF crack, a complete solution to meet all your PDF needs
Virtual address space
Greenplum6.x重新初始化
Uniapp wechat applet monitoring network
登山小分队(dfs)
How to realize the high temperature alarm of the machine room in the moving ring monitoring system
Novice entry SCM must understand those things
Composer change domestic image
Tronapi-波场接口-源码无加密-可二开--附接口文档-基于ThinkPHP5封装-作者详细指导-2022年7月6日-新手快速上手-可无缝升级tp6版本
POJ - 3784 running medium
Exercise arrangement 2.10, 11
[Chongqing Guangdong education] audio visual language reference materials of Xinyang Normal University
Tips for using jeditabletable
Appeler l'interface du moteur de création du service multimédia de jeu Huawei renvoie le Code d'erreur 1002, le message d'erreur: les paramètres sont l'erreur
You should use Google related products with caution
leetcode134. gas station
Opencv converts 16 bit image data to 8 bits and 8 to 16
mysql分区讲解及操作语句
[Yugong series] February 2022 U3D full stack class 005 unity engine view