esp32c3使用esp-idf框架多种点灯(带注释)

第一:在官方列程中随便创建一个项目(hello列程)

第二:删除main文件中的代码,开始写第一种点灯程序

#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "esp_log.h"
#include "led_strip.h"
#include "sdkconfig.h"

//

#define LED_PIN_NUM GPIO_NUM_12

void app_main(void)
{
printf("================点灯开始啦================\n");
    int32_t led_static = gpio_reset_pin(LED_PIN_NUM); //将 gpio 重置为默认状态(选择 gpio 功能、启用上拉并禁用输入和输出),返回一个状态
    gpio_set_direction(LED_PIN_NUM,GPIO_MODE_OUTPUT); //设置gpio状态,仅输出,仅输入,输出和输入
    while (1)
    {
        gpio_set_level(LED_PIN_NUM, 0); //设置gpio为低电平
        vTaskDelay(200); //延迟函数
        printf("翻转灯的高低电平\n");
        gpio_set_level(LED_PIN_NUM, 1);设置gpio为高电平
        vTaskDelay(200);
    }
     }

第二种结构体方式

#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "esp_log.h"
#include "led_strip.h"
#include "sdkconfig.h"


#define LED_PIN_NUM GPIO_NUM_12 //选择板子上led灯的gpio
#define GPIO_OUTPUT_PIN_SEL  (1ULL<<LED_PIN_NUM)    // 配置GPIO_OUT位寄存器
void app_main(void)
{


    gpio_config_t led_config;       //GPIO 通用配置。
    led_config.pin_bit_mask = GPIO_OUTPUT_PIN_SEL;
    led_config.mode = GPIO_MODE_OUTPUT;               //设置GPIO为输出模式
    led_config.pull_up_en = GPIO_PULLUP_DISABLE;       //禁用GPIO上拉电阻                                         */
    led_config.pull_down_en = GPIO_PULLUP_ENABLE;   //启用 GPIO 下拉电阻                            */
    led_config.intr_type = GPIO_PIN_INTR_DISABLE; //禁止中断

    if (gpio_config(&led_config) == ESP_OK) //初始化gpio状态并判断是否设置成功
    {

        while (1)
        {
            gpio_set_level(LED_PIN_NUM, 1);     //设置高电平
            vTaskDelay(200);    //延迟函数
            gpio_set_level(LED_PIN_NUM, 0);      //设置低电平
            vTaskDelay(200);
        }

    }else
    {
        printf("gpio初始化出错啦\n");
    }
}


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ESP32-C3 是一款基于 RISC-V 架构的微控制器,它没有片内闪存,需要通过外部 Flash 存储程序。如果您想使用 ESP32-C3 启动外部 Flash 存储的程序,请按照以下步骤进行配置: 1. 首先,您需要为 ESP32-C3 安装 ESP-IDF,您可以参考 ESP-IDF 的官方文档进行安装:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32c3/get-started/index.html 2. 在 ESP-IDF 中,有一个名为 "Partition Table" 的工具,可以帮助您配置 ESP32-C3 的启动分区,其中包括 Flash 存储器的分区信息。您可以使用 "Partition Table" 工具来配置 ESP32-C3 的启动分区,并指定用于存储程序的外部 Flash 存储器。 3. 在 "Partition Table" 工具中,您需要添加一个分区,用于存储程序。您可以指定该分区的大小、起始地址、名称等信息。注意,您需要将此分区的类型设置为 "APP",以便 ESP32-C3 能够正确识别并加载程序。 4. 在 ESP-IDF 的配置文件中,您需要指定用于存储程序的外部 Flash 存储器的型号和接口。您可以使用 "make menuconfig" 命令打开 ESP-IDF 的配置界面,并在 "Serial Flasher Config" 和 "Flash SPI Common Config" 中进行配置。 5. 最后,您需要编写程序,并将其编译、烧录到外部 Flash 存储器中。您可以使用 ESP-IDF 提供的工具链和 API 来编写程序,并使用 "make flash" 命令将程序烧录到外部 Flash 存储器中。 以上就是在 ESP32-C3 上配置片内闪存启动的步骤。需要注意的是,ESP32-C3 没有片内闪存,只能通过外部 Flash 存储器来存储程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值