本文主要是介绍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); // 配置为按钮GPIOio_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));}
}
这篇关于esp32 中断最简验证程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!