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));
    }
}
相关推荐
Heart of Dream几秒前
[STM32 HAL源码解析] 为什么中断里要判断挂起寄存器?为什么非要用回调函数?
单片机·嵌入式硬件
liwulin05061 小时前
【ESP32-S3】WINDOWS+VMware+ROS2+YDLIDA X2导航初步调试
windows·stm32·单片机
dozenyaoyida3 小时前
RS预览失败问题分析和解决
网络·经验分享·嵌入式硬件·tcp·wifi6兼容性·视频预览卡顿
forAllforMe4 小时前
STM32 驱动CAN接口的拉线位移传感器
stm32·单片机·嵌入式硬件
Struggle to dream5 小时前
STM32---关于DMA的入门详解
stm32·单片机·嵌入式硬件
BackCatK Chen5 小时前
第16篇:TMC2240多轴联动软件设计|2轴_3轴同步控制框架(保姆级)
嵌入式硬件·自动化·tmc2240·多轴联动·同步控制·2轴联动·3轴联动
Hello_Embed5 小时前
STM32F030CCT6 开发环境搭建
笔记·stm32·单片机·嵌入式·freertos
国科安芯5 小时前
航空级电机控制系统的抗辐照MCU功能安全设计与电磁兼容验证方法
单片机·嵌入式硬件·安全·性能优化·架构·安全性测试
myron66886 小时前
基于STM32LXXX的模数转换芯片ADC(ADS1220IPWR)驱动C程序设计
c语言·stm32·嵌入式硬件
隔壁大炮6 小时前
I2C基本电路结构
单片机·嵌入式硬件·铁头山羊