今日总结按键中断,踩坑踩到了中断开启,中断配置前,需要先关闭中断配置完成后再开启,由于很多代码都是直接从数据手册中复制,中断开启错复制了中断关闭,导致中断函数一直无法运行,下面记录中断配置流程:
1.设置GPIO口
PIN_FUNC_SELECT(PIN_NAME, FUNC)
PIN_NAME:PERIPHS_IO_MUX_???_U(参考day2)
FUNC:FUNC_GPIO?(参考day2)
2.将IO口设置为输入模式
GPIO_DIS_OUTPUT(gpio_no)
gpio_no:GPIO_ID_PIN(?)(参考day2)
3.关闭中断
ETS_GPIO_INTR_DISABLE();
4.注册中断函数
首先要先定义一个函数,当中断发生时会自动执行该函数
ETS_GPIO_INTR_ATTACH(函数名,NULL)
5.设置中断方式
gpio_pin_intr_state_set(GPIO_ID_PIN(?),中断方式);
中断方式:
GPIO_PIN_INTR_DISABLE = 0, // 不触发中断
GPIO_PIN_INTR_POSEDGE = 1, // 上升沿中断
GPIO_PIN_INTR_NEGEDGE = 2, // 下降沿中断
GPIO_PIN_INTR_ANYEDGE = 3, // 双边沿中断
GPIO_PIN_INTR_LOLEVEL = 4, // 低电平中断
GPIO_PIN_INTR_HILEVEL = 5 // 高电平中断
6.打开中断
ETS_GPIO_INTR_ENABLE();
/**********************************************************************/
中断函数内读取中断管脚与清除方法:

本人初学,能力有限,笔记尽供自己后期回顾,如有错误还请大佬指正。
ESP8266踩坑日记day3 GPIO中断
最新推荐文章于 2025-02-17 17:41:44 发布
本文详细记录了ESP32上中断配置的正确步骤,包括GPIO口设置、中断关闭与开启、中断函数注册及中断方式设定等关键环节,避免常见错误,确保中断功能正常运行。
3322





