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));
    }
}
相关推荐
时空自由民.3 小时前
蓝牙协议栈介绍
linux·网络·单片机
蓝天居士3 小时前
M24C64芯片资料与程序代码(2)
嵌入式硬件·芯片资料
asjodnobfy5 小时前
开关电源尖峰电压计算
嵌入式硬件·硬件工程
振南的单片机世界5 小时前
开漏输出:只能拉低,不能拉高,高电平靠“外部”帮忙
stm32·单片机·嵌入式硬件
FFF团团员9096 小时前
CCS快速使用4(tim,pwm)
单片机·嵌入式硬件
某先森不吃鱼7 小时前
工程日志——离轴编码器矫正与磁场串扰解决
嵌入式硬件
黑白园8 小时前
STM32 通过I2C 读写EEPR0M AT24C02
stm32·单片机·嵌入式硬件
ACP广源盛139246256738 小时前
ASW3742@ACP# 产品规格详解
网络·人工智能·嵌入式硬件·计算机外设·电脑
llilian_168 小时前
晶体频率测试仪 破解晶振品控核心难题:晶体频率网络测试仪深度解析 晶体网络分析仪
网络·功能测试·单片机·嵌入式硬件·测试工具·51单片机
YJlio8 小时前
《Windows Internals》10.5.1 ETW 概述:看懂 Windows 的“事件高速公路”
java·windows·笔记·stm32·嵌入式硬件·学习·eclipse