
接上一篇 这三个 hello world 会出现两个不同的颜色
ESP_LOGI// 表示的是打印信息
ESP_LOGE//表示的是打印错误信息

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

如图所示 进行配置




改为1000,这样就可以 变成 毫秒 我们不能用 ctrl 加 s 是不可以保存 必须在右面保存
下面我们讲解一下 GPIO 外设的原理
GPIO(General Purpose Input Output)通用输入输出口
可配置成6种输入输出模式
引脚电平:0V、3.3V
输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议时序等
输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、模拟通信协议接收数据等
cs
gpio_config()//函数来配置GPIO
gpio_set_level()//函数来控制IO口输出高电平/低电平
gpio_get_level()//函数来读取当前IO口的电平状态
| 特性 | 上方电路 (接 3.3V) | 下方电路 (接 GND) |
|---|---|---|
| LED 正极 | 接电源 (3.3V) | 接 IO 口 |
| LED 负极 | 接 IO 口 | 接 地 (GND) |
| 点亮条件 | 输出低电平 | 输出高电平 |
| 熄灭条件 | 输出高电平 | 输出低电平 |

是必须像水流一样 才可以点亮
搭建的过程在之前的博客写到过,这里不详细说了
cs
#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 ,我们可以通过这两个函数 来判断函数的初始化是否完成
cs
err = gpio_config(const gpio_config_t *pGPIOConfig);//我们看见 这个是结构体的指针
esp_err_t err; //在esp中 这个 esp_err_t 是 int 之类的意思
cs
#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);
}
}
喜欢的话 留一个关注喽,后面会继续更新!
