staticvoidgpio_task_example(void*arg){uint32_tio_num;for(;;){if(xQueueReceive(gpio_evt_queue,&io_num,portMAX_DELAY)){printf("GPIO[%d] intr, val: %d\n",io_num,gpio_get_level(io_num));}}} 这就是一个后台任务,负责从队列里拿到中断事件,然后做处理。实际项目里你可以替换成业务逻辑,比...
io_conf.mode = GPIO_MODE_INPUT,//选择GOIOio_conf.pin_bit_mask = 1ULL<<GPIO_NUM_9,//关闭下拉io_conf.pull_down_en = 0,//打开上拉io_conf.pull_up_en = 1,}; //根据上述配置设置GPIOgpio_config(&io_conf); gpio_set_level(GPIO_NUM_3,0);设置GPIO状态函数: gpio_get_level(GPIO_...
ESP_ERROR_CHECK(gpio_set_level(GPIO_OUTPUT_IO_1, 0)); printf("GPIO_OUTPUT_IO_0: %d\n", gpio_get_level(GPIO_OUTPUT_IO_0)) ; // 0 as expected printf("GPIO_OUTPUT_IO_1: %d\n", gpio_get_level(GPIO_OUTPUT_IO_1)) ; // 0 as expected ...
1.使用函数:gpio_get_level 2.示例程序: #include<stdio.h>#include"freertos/FreeRTOS.h"#include"freertos/task.h"#include"driver/gpio.h"#include"sdkconfig.h"#define INPUT_GPIO 4voidapp_main(){gpio_config_tio_conf;io_conf.pin_bit_mask=1ULL<<INPUT_GPIO;io_conf.mode=GPIO_MODE_INPUT;io...
init.pull_down_en = GPIO_PULLDOWN_DISABLE; // 失能下拉模式 init.pull_up_en = GPIO_PULLUP_ENABLE; // 使能上拉模式 gpio_config(&init); } void IRAM_ATTR IT_Function(void *arg){ //消抖处理 if(gpio_get_level(10)==1){ usleep(10); ...
} 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的电平。
1. gpio_set_level 该函数用于操作 GPIO 的电平变化,函数原型如下: void gpio_set_level(gpio_num_t gpio_num, uint32_t level); 1. 在使用该函数时,需要先通过 gpio_set_direction() 函数将指定GPIO设为输出模式。 2. gpio_get_level 该函数用于读取 GPIO 当前的电平状态,函数原型如下: ...
{ printf("GPIO[%d] intr, val: %d\n", io_num, gpio_get_level(io_num)); } } } void app_main() { gpio_config_t io_conf; io_conf.intr_type = GPIO_PIN_INTR_POSEDGE;//interrupt of rising edge io_conf.pin_bit_mask = GPIO_INPUT_PIN_SEL;//bit mask of the pins, use GPIO32...
gpio_get_level(0) return always 0 in my case, even if the red part of rgb led in esp-WROVER-KIT v3 blink. Code:Select all unsigned long ret_led_level() { const unsigned long *myReg = (unsigned long *)(0x3FF44004); return *myReg; } ...
gpio_set_level(gpio_num_t gpio_num, uint32_t level)level:0 低电平1 高电平 5. 输入模式检测电平 gpio_get_level(gpio_num_t gpio_num)6. 配置单个引脚内部上、下拉电阻 gpio_set_pull_mode(gpio_num_t gpio_num)gpio_pullup_en(gpio_num_t gpio_num)gpio_pullup_dis(gpio_num_t gpio_num)...