请选择 进入手机版 | 继续访问电脑版
查看: 300|回复: 2

[经验分享] 基于 ESP32 Arduino 的GPIO 中断使用介绍

[复制链接]

签到天数: 133 天

[LV.7]化身百千

发表于 2018-10-10 17:39:08 | 显示全部楼层 |阅读模式

1、中断触发方式
ESP32 Arduino 有以下四种触发方式:
LOW              低电平触发
CHANGE       电平变化
RISING         上升沿触发
FALLING       下降沿触发
HIGH             高电平触发
2、配置中断
在定义中断函数后,需要在 setup 函数配置中断函数
// interrupt=中断通道编号,function=中断函数,mode=中断触发模式
attachInterrupt(interrupt, function, mode);
// pin=中断引脚,function=中断函数,mode=中断触发模式
attachInterrupt(pin, function, mode);
如果在程序运行过程不需要使用外部中断了,可以用中断分离函数来取消这一中断设置:
detachInterrupt(interrupt);
detachInterrupt(Pin);。
3、示例
  1. void setup()
  2. {
  3.   // 初始化日志打印串口
  4.   Serial.begin(115200);
  5.   
  6.   // 配置中断引脚
  7.   pinMode(26, INPUT|PULLUP );

  8.   // 检测到引脚 26 下降沿,触发中断函数 blink
  9.   attachInterrupt(26, blink, FALLING);

  10.   Serial.println("\nstart irq test");
  11. }

  12. void loop()
  13. {

  14. }

  15. // 中断函数
  16. void blink()
  17. {
  18.   Serial.println("IRQ");
  19. }
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

返回顶部