esp32 gpio 示例程序
时间: 2023-07-03 15:09:43 浏览: 130
ESP32例程.zip
下面是一个ESP32的GPIO示例程序,可以让LED灯闪烁:
```c
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#define LED_GPIO 2
void blink_task(void *pvParameter)
{
gpio_pad_select_gpio(LED_GPIO);
gpio_set_direction(LED_GPIO, GPIO_MODE_OUTPUT);
while (1) {
gpio_set_level(LED_GPIO, 0);
vTaskDelay(1000 / portTICK_RATE_MS);
gpio_set_level(LED_GPIO, 1);
vTaskDelay(1000 / portTICK_RATE_MS);
}
}
void app_main()
{
xTaskCreate(&blink_task, "blink_task", configMINIMAL_STACK_SIZE, NULL, 5, NULL);
}
```
在该示例程序中,我们使用了`gpio_pad_select_gpio()`函数来选择GPIO引脚,使用`gpio_set_direction()`函数将GPIO引脚设置为输出模式。在`blink_task()`任务中,我们使用`gpio_set_level()`函数来设置LED灯的状态。最后,我们使用`xTaskCreate()`函数创建了一个名为`blink_task`的FreeRTOS任务。
阅读全文