Arduino ESP32:测试GPIO中断功能
Arduino ESP32:测试GPIO中断功能
ESP32:测试GPIO中断功能
实例代码
/*测试GPIO中断功能接线说明: 按键1接23,按键2接18
*/#include <Arduino.h>struct Button {const uint8_t PIN;uint32_t numberKeyPresses;bool pressed;
};Button button1 = {23, 0, false};
Button button2 = {18, 0, false};void IRAM_ATTR isr(void* arg) {Button* s = static_cast<Button*>(arg);s->numberKeyPresses += 1;s->pressed = true;
}void IRAM_ATTR isr() {button2.numberKeyPresses += 1;button2.pressed = true;
}void setup() {Serial.begin(115200);pinMode(button1.PIN, INPUT_PULLUP);attachInterruptArg(button1.PIN, isr, &button1, FALLING);pinMode(button2.PIN, INPUT_PULLUP);attachInterrupt(button2.PIN, isr, FALLING);
}void loop() {if (button1.pressed) {Serial.printf("Button 1 has been pressed %u times\n", button1.numberKeyPresses);button1.pressed = false;}if (button2.pressed) {Serial.printf("Button 2 has been pressed %u times\n", button2.numberKeyPresses);button2.pressed = false;}static uint32_t lastMillis = 0;if (millis() - lastMillis > 10000) {lastMillis = millis();detachInterrupt(button1.PIN);}
}
小儿垂钓 唐朝·胡令能 |
---|
蓬头稚子学垂纶,侧坐莓苔草映身。 |
---|
路人借问遥招手,怕得鱼惊不应人。 |
---|
Arduino ESP32:测试GPIO中断功能相关推荐
- Arduino ESP32定时器功能使用
Arduino ESP32定时器功能使用 ESP32硬件定时器介绍 ESP32 芯片包含两个硬件定时器组.每组有两个通用硬件定时器.它们都是基于 16 位预分频器和 64 位自动重载功能的向上/向下计 ...
- 乐鑫Esp32学习之旅⑦ esp32上利用GPIO中断做一个按键的短按和长按的回调事件,再也无须担心触发源。(附带Demo)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...
- Arduino ESP32 通过定时器(Timer)功能唤醒深度睡眠
Arduino ESP32 通过定时器(Timer)功能唤醒深度睡眠 通过定时器功能,设置5秒,时间到就唤醒深度睡眠 实例代码 /*通过定时器功能唤醒深度睡眠(设置为5秒) */#define uS_ ...
- Arduino ESP32深度睡眠触摸唤醒(触摸唤醒)
Arduino ESP32深度睡眠触摸唤醒(触摸唤醒) 通过D4–GPIO4引脚触摸感应,触发唤醒功能. 睡眠模式下,触摸中断响应流程图 实例代码 /*深度睡眠触摸唤醒(触摸T0唤醒) */#defi ...
- Arduino ESP32 WIFI 蓝牙模式触控按键切换
Arduino ESP32 WIFI &蓝牙模式触控按键切换 相关篇<Arduino ESP32自带触摸传感器功能测试> <ESP32电容式触摸传感器引脚实例> ESP ...
- LPC1768外部中断与GPIO中断
LPC1768的外部中断严格来说只有四个,分别是EINT0,EINT1,EINT2,EINT3,技术手册上有如下说明 控制这四个外部中断靠以下寄存器 这三个寄存器的0 1 2 3位分别代表中断的0 1 ...
- micro-ros arduino esp32 ros2 笔记
micro-ros micro-ros arduino 22-05-25 github.com/micro-ROS/micro_ros_arduino/releases v2.0.5 humble g ...
- 【Arduino实验09 外部中断触发报警】
目录 一.实验目的 二.实验设备与环境 三.实验重点 四.实验难点 五.实验内容 5.1实验任务 5.2实验原理 5.3实验内容 5.4实验结果 5.5思考题 一.实验目的 (1)熟悉外部中断函数.自 ...
- Arduino ESP32 对NVS数据操作测试
Arduino ESP32 对NVS数据操作测试 对NVS数据操作,所需加载的头文件Preferences.h. 对命名空间初始化函数begin()操作测试一 bool begin(const cha ...
最新文章
- 我的路子 - 发现游戏为模型的软件架构方式
- 调用 fork() 两次以避免僵死进程
- Regal灰度发布智能分组引擎
- flutter能开发游戏吗_不用 H5,闲鱼 Flutter 如何玩转小游戏?-阿里云开发者社区...
- java.util报错
- Webbrowser若干点
- html网页对账单样式,怎样在EXCEL中做工行对账单,样式字体要...
- linux查看内存条pn,内存条,详细教您怎么查看内存条的型号
- 淘宝API item_search_similar - 搜索相似的商品
- 宁波大学数学系好老师推荐
- K近邻法(KNN)与k-Means的区别
- 传奇GEE引擎版本架设
- COOC6.2增加同义词合并无意义词删除等功能
- 简单粗暴识别工作室Android识别模拟器
- 有房间匹配和无房间匹配
- Windows XP SP2上安装.net 4
- android 代码重启app
- APP上架实战干货《软件著作权》软著篇
- 苹果语音备忘录怎么改名字_苹果手机语音备忘录怎么恢复?教你在手机上直接操作...
- 【LINUX】LAMP概念与搭建