立创开发板入门第二课GPIO通用输入输出
// 第二课 通用输入输出,与第一课相比,只多了一个驱动文件的头文件。
#include "driver/gpio.h"
然后定义了以下三个
GPIO事件队列,QueueHandle_t是 FreeRTOS 中用于表示队列句柄的类型。
GPIO中断服务
IRAM_ATTR 是 ESP-IDF 中定义的一个宏,用于指定函数在内部存储器中运行。
xQueueSendFromISR 是 FreeRTOS 函数,用于在中断服务程序中向队列发送消息
GPIO任务示例 函数
xQueueReceive 函数用于从一个队列中接收消息,从gpio_evt_queue队列中接收消息,阻塞直到有消息可用。
gpio_get_level 函数是 ESP-IDF 中提供的函数,用于获取 GPIO 引脚的电平值
% PRIu32 是一个格式说明符,用于打印无符号长整型变量
主程序
IO_配置
// xQueueCreate 是 FreeRTOS 函数,用于创建一个队列
// xTaskCreate 是 FreeRTOS 函数,用于创建一个任务
// gpio_install_isr_service 是 ESP-IDF 中用于安装 GPIO 中断服务程序的函数
// gpio_isr_handler_add 是 ESP-IDF 中用于将中断服务程序与特定的 GPIO 引脚关联的函数
源码在以下地址:
wwGitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。https://gitcode.com/funsion/ESP32C3