野路子学习esp32(八) GPIO 点亮LED@a.宏万

我购买的是下面这个东东,安信可出品

上面有一个LED,电源指示灯,一个重启按钮,还有一个IO0 按钮;

我们要做的就是点亮LED灯;

通过看原理图,可以得知LED是接在 IO2上的;

新建一个LED工程并设置发布方式

工程结构;

添加引用

#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/queue.h"
#include "driver/gpio.h"

#include "esp_system.h"

#define GPIO_OUTPUT_IO_LED 2


void hw_gpio_init(void)
{
    //定义一个gpio_config类型的结构体,下面的都算对其进行的配置
    gpio_config_t io_conf;
    //禁用中断
    io_conf.intr_type = GPIO_PIN_INTR_DISABLE;
    //设置为输出模式
    io_conf.mode = GPIO_MODE_OUTPUT;
    //你想设置的引脚
    io_conf.pin_bit_mask = (1<<GPIO_OUTPUT_IO_LED);
    //关闭下拉模式
    io_conf.pull_down_en = 0;
    //禁用牵引模式
    io_conf.pull_up_en = 0;
    //配置GPIO与给定的设置。
    gpio_config(&io_conf);
}


void app_main()
{
    hw_gpio_init();
    while(1)
    {
        gpio_set_level(GPIO_OUTPUT_IO_LED, 0);
        vTaskDelay(1000 / portTICK_RATE_MS);
        gpio_set_level(GPIO_OUTPUT_IO_LED, 1);
        vTaskDelay(1000 / portTICK_RATE_MS);
    }
}
原文地址:https://www.cnblogs.com/hongwans/p/9095317.html