esp32 中断最简验证程序

13脚接3.3v脚,显示OK ,不能直接接5v电压脚

中断程序最好是为各种执行设置标志位。不能处理占用长时间的指令

准备利用中断对超声波模块编程

#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "esp_log.h"

// 定义GPIO引脚和标签
#define BUTTON_GPIO 13
#define TAG "BUTTON_ISR"

  char bz=0;
// 中断处理程序
void IRAM_ATTR button_isr_handler(void* arg) {
    // 打印一条信息,表示中断触发
    bz=1;
}

// 初始化GPIO和中断
void app_main() {
    // 配置GPIO引脚
    gpio_config_t io_conf;
    io_conf.intr_type = GPIO_INTR_NEGEDGE; // 下降沿触发
    io_conf.mode = GPIO_MODE_INPUT;        // 输入模式
    io_conf.pin_bit_mask = (1ULL << BUTTON_GPIO); // 配置为按钮GPIO
    io_conf.pull_down_en = GPIO_PULLUP_ENABLE; // 启用上拉
    io_conf.pull_up_en = GPIO_PULLDOWN_DISABLE; // 禁用下拉
 
    gpio_config(&io_conf);

    // 安装GPIO ISR服务
    gpio_install_isr_service(0);
    // 添加中断处理程序
    gpio_isr_handler_add(BUTTON_GPIO, button_isr_handler, NULL);

    // 主循环
    while (1) {
        if(bz==1){
			printf("%s\n","ok");
			bz=0;
		}
        vTaskDelay(pdMS_TO_TICKS(1000));
    }
}
相关推荐
楼台的春风5 小时前
【MCU驱动开发概述】
c语言·驱动开发·单片机·嵌入式硬件·mcu·自动驾驶·嵌入式
Moonnnn.5 小时前
51单片机学习——动态数码管显示
笔记·嵌入式硬件·学习·51单片机
LS_learner6 小时前
小智机器人CMakeLists编译文件解析
嵌入式硬件·机器人
暗碳7 小时前
stm32 74hc238流水灯
stm32·单片机·嵌入式硬件
1101 11017 小时前
STM32-温湿度上传OneNET项目
stm32·单片机·嵌入式硬件
余衫马8 小时前
ESP32-S3 实战指南:BOOT-KEY 按键驱动开发全解析
驱动开发·单片机·嵌入式硬件
文军的烹饪实验室11 小时前
处理器架构、单片机、芯片、光刻机之间的关系
单片机·嵌入式硬件·架构
Leiditech__11 小时前
人工智能时代电子机器人静电问题及电路设计防范措施
人工智能·嵌入式硬件·机器人·硬件工程
jmlinux12 小时前
STM32 HAL库USART串口DMA IDLE中断编程:避坑指南
stm32·单片机·嵌入式硬件
沐欣工作室_lvyiyi13 小时前
基于单片机的智能电表设计(论文+源码)
单片机·嵌入式硬件·电能表·数字电能表