接上一篇  这三个  hello world   会出现两个不同的颜色

 ESP_LOGI// 表示的是打印信息
 ESP_LOGE//表示的是打印错误信息

下面我们进行配置芯片  我们点击小齿轮

如图所示  进行配置

改为1000,这样就可以 变成 毫秒   我们不能用  ctrl 加  s 是不可以保存  必须在右面保存

下面我们讲解一下  GPIO 外设的原理

GPIO(General Purpose Input Output)通用输入输出口
可配置成6种输入输出模式
引脚电平:0V、3.3V
输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议时序等
输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、模拟通信协议接收数据等

gpio_config()//函数来配置GPIO
gpio_set_level()//函数来控制IO口输出高电平/低电平
gpio_get_level()//函数来读取当前IO口的电平状态
特性上方电路 (接 3.3V)下方电路 (接 GND)
LED 正极接电源 (3.3V)接 IO 口
LED 负极接 IO 口接 地 (GND)
点亮条件输出低电平输出高电平
熄灭条件输出高电平输出低电平

是必须像水流一样 才可以点亮

搭建的过程在之前的博客写到过,这里不详细说了

#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
void app_main(void)
{
     

    esp_err_t gpio_config(const gpio_config_t *pGPIOConfig);


}

我们正确 会返回ESP_OK   错误就是 ESP_FALL ,我们可以通过这两个函数 来判断函数的初始化是否完成

 err = gpio_config(const gpio_config_t *pGPIOConfig);//我们看见 这个是结构体的指针
esp_err_t err;  //在esp中   这个  esp_err_t 是 int  之类的意思

#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
void app_main(void)
{
    esp_err_t err;
    gpio_config_t gpio_cfg = {
        .intr_type = GPIO_INTR_DISABLE,
        .mode = GPIO_MODE_INPUT_OUTPUT,
        .pin_bit_mask = 1ULL << GPIO_NUM_38,
        .pull_down_en = GPIO_PULLDOWN_DISABLE,
        .pull_up_en = GPIO_PULLUP_ENABLE,

    };
    err = gpio_config(&gpio_cfg);

    if(err != ESP_OK)
    {
        printf("null\r\n");
    }

    while (1)
    {


        gpio_set_level(GPIO_NUM_38, 1);
        vTaskDelay(500);
        gpio_set_level(GPIO_NUM_38, 0);
        vTaskDelay(500);
    }

}

喜欢的话 留一个关注喽,后面会继续更新!

更多推荐