gpio_set_direction(GPIO_NUM_22, GPIO_MODE_OUTPUT); // 设置GPIO22输出低电平 gpio_set_level(GPIO_NUM_22, 0); 1. 2. 3. 4. 5. 6. 这里我们使用gpio_set_direction和gpio_set_level函数来配置它的方向和输出电平。 LED灯闪烁实验 这里我参考正点原子的教学案例,将LED的代码部分单独放到.c .h文件...
esp_err_t gpio_config(const gpio_config_t *pGPIOConfig) /* 函数: gpio_set_intr_type 功能: 单独设置中断的触发类型 输入: gpio_num:要配置的引脚号;intr_type:触发类型(枚举值) 返回值: ESP_OK:成功;其它:失败 */ esp_err_t gpio_set_intr_type(gpio_num_t gpio_num, gpio_int_type_t intr...
#include"driver/ledc.h"// 定义LED连接的GPIO引脚#defineLED_PIN 2// 初始化LEDC定时器的配置结构体ledc_timer_config_tledc_timer = {.speed_mode = LEDC_LOW_SPEED_MODE,// 低速模式.duty_resolution = LEDC_TIMER_13_BIT,// 分辨率为13位.timer_...
这里需要注意,个别gpio只能用作输入模式,在gpio_num_t枚举体里面有详细说明: 代码语言:javascript 复制 GPIO_NUM_34=34,/*!< GPIO34, input mode only(ESP32) / input and output(ESP32-S2) */GPIO_NUM_35=35,/*!< GPIO35, input mode only(ESP32) / input and output(ESP32-S2) */GPIO_NUM_36...
} gpio_int_type_t; 中断枚举结构体有7种情况,禁用中断,上升沿触发,下降沿触发,边沿触发,低压触发,高压触发。 esp_err_t gpio_set_level(gpio_num_t gpio_num, uint32_t level);intgpio_get_level(gpio_num_t gpio_num); set_level和get_Level用来设置io的的高低电平和读取io的电平。
gpio_num:用来发信号的引脚,GPIO 号。这个可用枚举值(在 gpio_num.h 头文件中),如 GPIO_NUM_0 表示 GPIO0,GPIO_NUM_33 表示 GPIO33,也可以直接用整数,如 33、25、8 等。 clk_src:振动的时钟源,可以用 RMT_CLK_SRC_DEFAULT 表示默认值,即用 APB 时钟,80兆那个。一般不用选其他,毕竟不是每个板子都...
static xQueueHandle gpio_evt_queue = NULL; static void IRAM_ATTR gpio_isr_handler(void* arg) { uint32_t gpio_num = (uint32_t) arg; xQueueSendFromISR(gpio_evt_queue, &gpio_num, NULL); //freertos中断中发送消息队列} static void gpio_task_example(void* arg) ...
static void IRAM_ATTR gpio_isr_handler(void* arg){ uint32_t gpio_num = (uint32_t) arg;...
static xQueueHandle gpio_evt_queue = NULL; //定义一个队列返回变量 void IRAM_ATTR gpio_isr_handler(void* arg) { //把中断消息插入到队列的后面,将gpio的io参数传递到队列中 uint32_t gpio_num = (uint32_t) arg; xQueueSendFromISR(gpio_evt_queue, &gpio_num, NULL); ...