代码
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#define LED 2
void app_main(void)
{
gpio_reset_pin(LED);
// gpio_set_direction(LED, GPIO_MODE_OUTPUT);
gpio_set_direction(LED, GPIO_MODE_INPUT_OUTPUT);
while (1)
{
// 电平为低
gpio_set_level(LED, 0);
// 延迟1S
vTaskDelay(pdMS_TO_TICKS(1000));
printf("level:%d\n", gpio_get_level(LED));
// 电平为高
gpio_set_level(LED, 1);
// 延迟1S
vTaskDelay(pdMS_TO_TICKS(1000));
printf("level:%d\n", gpio_get_level(LED));
}
}
注意事项:
如果使用gpio_set_direction(LED, GPIO_MODE_OUTPUT);,则gpio_get_level获取到的值始终为0