ESP32 + IDF + LED

一、开发板

ESP32-S3-DevKitC-1

管脚布局

由于这个程序控制比较简单,就不赘述了,直接看程序。

二、程序

#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/ledc.h"
#define LED_PIN 6
#define LED_PIN_SEL (1ULL<<LED_PIN)
/**
* @brief 配置引脚功能
*/
void bsp_led_init(void)
{
gpio_config_t io_conf = {}; // 初始化结构体
io_conf.intr_type = GPIO_INTR_DISABLE; // 禁用中断
io_conf.mode = GPIO_MODE_OUTPUT; // 设置为输出模式
io_conf.pin_bit_mask = LED_PIN_SEL; // 要设置的引脚的位掩码
io_conf.pull_down_en = 0; // 禁用下拉模式
io_conf.pull_up_en = 0; // 禁用下拉模式
gpio_config(&io_conf); // 配置GPIO结构体参数
}
/**
* @brief ESP32 入口函数
*/
void app_main(void)
{
uint32_t count = 0;
bsp_led_init();
while(1)
{
if(count % 2 == 0)
{
gpio_set_level(LED_PIN, 0);
}
else
{
gpio_set_level(LED_PIN, 1);
}
count++;
printf("count: %d\n", count);
vTaskDelay(20000 / portTICK_PERIOD_MS );
}
}

参考文献

ESP-IDF 编程指南:https://docs.espressif.com/projects/esp-idf/zh_CN/stable/esp32s3/api-reference/peripherals/gpio.html?highlight=gpio_set_level#_CPPv414gpio_set_level10gpio_num_t8uint32_t

posted @   浇筑菜鸟  阅读(288)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示