Aily Blockly 辅助 ESP32-S3 开发教程3
2026/7/27 6:09:45 网站建设 项目流程

第 10 章:中断与事件响应

10.1 中断概述

ESP32-S3 支持多种中断源:

中断类型说明典型用途
GPIO 中断引脚电平变化触发按键检测、传感器信号
定时器中断定时器溢出触发周期采样、精确计时
UART 中断串口数据到达触发异步接收数据
WiFi 事件连接/断开等事件触发网络状态响应
BLE 事件连接/写入等事件触发蓝牙数据响应

10.2 GPIO 外部中断

ESP32-S3 的 GPIO 中断支持多种触发方式:

触发方式说明
上升沿低→高时触发
下降沿高→低时触发
双边沿任意电平变化时触发
高电平电平为高时触发
低电平电平为低时触发

10.3 项目:中断方式按键检测

积木程序
当启动时 ├─ 初始化引脚 GPIO2 为 推挽输出 ├─ 初始化引脚 GPIO4 为 输入上拉 ├─ 设置引脚 GPIO4 中断 下降沿 → on_button_press └─ 永远重复 └─ 延时 1000 毫秒 (主循环可以做其他事情) 定义函数 on_button_press └─ 翻转引脚 GPIO2 电平
生成的 C 代码
#include"driver/gpio.h"#include"freertos/FreeRTOS.h"#include"freertos/task.h"#defineLED_GPIO2#defineBUTTON_GPIO4staticvoidIRAM_ATTRbutton_isr_handler(void*arg){intlevel=gpio_get_level(LED_GPIO);gpio_set_level(LED_GPIO,!level);}voidapp_main(void){gpio_config_tio_conf={.pin_bit_mask=(1ULL<<LED_GPIO),.mode=GPIO_MODE_OUTPUT,.intr_type=GPIO_INTR_DISABLE,};gpio_config(&io_conf);io_conf.pin_bit_mask=(1ULL<<BUTTON_GPIO);io_conf.mode=GPIO_MODE_INPUT;io_conf.intr_type=GPIO_INTR_NEGEDGE;io_conf.pull_up_en=GPIO_PULLUP_ENABLE;gpio_config(&

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询