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

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

    [复制链接]

    签到天数: 178 天

    [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 下一条

    返回顶部