ESP32学习日记:(1)点亮LED
软件
使用esp-idf 5.1
硬件
使用 ESP32-DEVKIT-V1
开发板正面图:
实现过程
- 通过原理图确定LED挂载在
GPIO2
上。
- 编写代码:
#include <stdio.h>
#include <stdbool.h>
#include <unistd.h>
#include <driver/gpio.h>
#define PIN_LED GPIO_NUM_2
void app_main(void)
{
/*初始化LED*/
printf("INIT LED...\n");
gpio_config_t myGPIO;
myGPIO.pin_bit_mask = (1ULL << PIN_LED);
myGPIO.mode = GPIO_MODE_OUTPUT;
myGPIO.pull_up_en = 0;
myGPIO.pull_down_en = 0;
myGPIO.intr_type = 0;
int flag_config = gpio_config(&myGPIO);
printf("flag_config = %d\n", flag_config);
int counter = 0;
while (1)
{
gpio_set_level(PIN_LED, counter % 2);
printf("counter:%d\n", counter++);
sleep(1);
}
}
- 编译代码
idf.py build
- 下载到开发板上
idf.py -p com15 flash
非常重要的一点!!!
在配置GPIO时,向结构体写入的是一个移位数据:
myGPIO.pin_bit_mask = (1ULL << PIN_LED);
但是,在调用gpio_set_leve()
的时候,直接就是引脚号:
gpio_set_level(PIN_LED, counter % 2);