ESP-C3入门1. VSCode+IDF 开发环境
- 一、芯片说明
- 1. 主要参数
- 2. 内部结构图
- ESP32-C3-MINI-1内部架构图:
- ESP32-C3-MINI-1U内部架构图:
- 3. 引脚
- 4. 引脚描述
- 5. strapping管脚
- 6. 系统复位
- 二、idf-vscode开发环境搭建
- 1. 安装vscode
- 2. idf配置
- (1) 下载idf安装器
- 3. 给vscode安装esp-idf插件:
- 4. 配置esp-idf插件
- 三、开发板原理图
- 四、创建示例工程
- 1. 创建示例工程
- 2. 配置device
- 3. 编译
- 4. 下载程序
一、芯片说明
本文使用ESP-C3-MINI-1芯片,它是一款通用型 Wi-Fi 和低功耗蓝牙 (Bluetooth LE) 模组。
技术规格书地址
1. 主要参数
- 内置ESP32-C3FH4或ESP32-C3FN4芯片,RISC-V 32位单核微处理器,主频最高160MHz
- 384K ROM
- 400K SRAM,其中16K用于cache
- 8K RTC SRAM
- 4M 合封flash
- 外设接口:GPIO, I2C, I2S, SPI, UART
- 电压:3-3.6V
- WIFI:WiFi - 802.11,802.11 b/g/n
- 支付低功耗蓝牙(BluetoothLE):Bluetooth5,Bluetooth mesh
- 蓝牙速率支持125K/500K/1M/2M bps
- WiFi与蓝牙共用同一个天线
2. 内部结构图
ESP32-C3-MINI-1内部架构图:
ESP32-C3-MINI-1U内部架构图:
3. 引脚
4. 引脚描述
名称 | 序号 | 类型 | 功能 |
---|---|---|---|
GND | 1,2,11,14,36-53 | P | 接地 |
3V3 | 3 | P | 供电 |
NC | 4,7,9,10,15,17,24,25,28,29,32,35 | - | 空 |
IO2 | 5 | I/O/T | GPIO2,ADC1_CH2,FSPIQ |
IO3 | 6 | I/O/T | GPIO3, ADC1_CH3 |
EN | 8 | I | 高电平:芯片使能;低电平:芯片关闭 注意不能让EN浮空 |
IO0 | 12 | I/O/TI GPIO0, ADC1_CH0, XTAL_32K_P | |
IO1 | 13 | I/O/TI GPIO1, ADC1_CH1, XTAL_32K_N | |
IO10 | 16 | I/O/T | GPIO10, FSPICS0 |
IO4 | 18 | I/O/T | GPIO4, ADC1_CH4, FSPIHD, MTMS |
IO5 | 19 | I/O/T | GPIO5, ADC2_CH0, FSPIWP, MTDI |
IO6 | 20 | I/O/T | GPIO6, FSPICLK, MTCK |
IO7 | 21 | I/O/T | GPIO7, FSPID, MTDO |
IO8 | 22 | I/O/T | GPIO8 |
IO9 | 23 | I/O/T | GPIO9 |
IO18 | 26 | I/O/T | GPIO18, USB_DIO19 27 I/O/T GPIO19, USB_D+ |
IRXD0 | 30 | I/O/T | GPIO20, U0RXD |
ITXD0 | 31 | I/O/T | GPIO21, U0TXD |
5. strapping管脚
ESP32-C3系列芯片共有3个Strapping管脚 :
- GPIO2
- GPIO8
- GPIO9
软件可以读取GPIO_STRAP_REG寄存器的GPIO_STRAPPING字段 、 获取GPIO2、GPIO8和GPIO9的值。
6. 系统复位
- 上电复位
- RTC看门狗复位
- 欠压复位
- 模拟超级看门狗复位
- 晶振时钟毛刺检测复位
二、idf-vscode开发环境搭建
1. 安装vscode
过程省略。
2. idf配置
(1) 下载idf安装器
https://dl.espressif.com/dl/esp-idf/?idf=4.3
这里下载v4.4.3 离线安装版本。
运行安装下载的程序。安装时可能会看到提示:
按提示在按windows+r ,跳出运行窗口,执行命令:
powershell -Command "&{ Start-Process -FilePath reg 'ADD HKLM\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t REG_DWORD /d 1 /f' -Verb runAs}"
点击“应用修复”:
修复完成后点击“下一步”,按提示完成安装步骤。
最后勾选 运行 ERP-IDF命令提示符环境,点击完成。
3. 给vscode安装esp-idf插件:
4. 配置esp-idf插件
点击菜单View-Command Palette,在弹出的串口输入 : esp-idf:con
选择其中的ESP-IDF:Configure ESP-IDF extension,
出现下面画面则安装成功:
如果遇到Python安装库报错,可以关闭vscode重新设置 。多次尝试仍不行,可以修改pip源,方法是:
到C:/用户/你的用户名下,新建 pip目录,添加 pip.ini文件 , 输入内容 :
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
然后再次尝试。
三、开发板原理图
我使用的开发板型号是 GOOUUU-ESP32-C3,上面接了一个RGB灯:
下面代码主要针对GPIO3,GPIO4,GPIO5口进行操作。
四、创建示例工程
1. 创建示例工程
点击菜单: View-Command Palette,输入ESP-IDF:Show Ex
:
这里选择 hello world 示例:
主要的源代码:
/* Hello World Example
This example code is in the Public Domain (or CC0 licensed, at your option.)
Unless required by applicable law or agreed to in writing, this
software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied.
*/
#include <stdio.h>
#include "sdkconfig.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
#include "esp_spi_flash.h"
void app_main(void)
{
printf("Hello world!\n");
/* Print chip information */
esp_chip_info_t chip_info;
esp_chip_info(&chip_info);
printf("This is %s chip with %d CPU core(s), WiFi%s%s, ",
CONFIG_IDF_TARGET,
chip_info.cores,
(chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "",
(chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "");
printf("silicon revision %d, ", chip_info.revision);
printf("%dMB %s flash\n", spi_flash_get_chip_size() / (1024 * 1024),
(chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");
printf("Minimum free heap size: %d bytes\n", esp_get_minimum_free_heap_size());
for (int i = 10; i >= 0; i--) {
printf("Restarting in %d seconds...\n", i);
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
printf("Restarting now.\n");
fflush(stdout);
esp_restart();
}
点击Create Project using example hello_world,选择项目保存路径:
项目创建成功后,左侧可以看到项目文件列表:
2. 配置device
在命令栏输入esp-idf:set espressif
,选择device target
这里选择第二项 via builtin USB-JTAG:
ESP-IDF Build projec,选择: UART
3. 编译
点击左下方的menuconfig,ESP-IDF Full Clean:
点击ESP-IDF Build project编译按钮:
4. 下载程序
设备插到电脑上,在这里选择连接的串口。
点击ESP-IDF flash device 下载程序到芯片:
点击:ESP-IDF Monitor device 查看串口输出:
最简单的GPIO操作示例代码:
#include "driver/gpio.h"
void app_main(){
gpio_reset_pin(3);
gpio_reset_pin(4);
gpio_reset_pin(5);
gpio_set_direction(GPIO_NUM_3, GPIO_MODE_OUTPUT);
gpio_set_direction(GPIO_NUM_4, GPIO_MODE_OUTPUT);
gpio_set_direction(GPIO_NUM_5, GPIO_MODE_OUTPUT);
//1为高电平,0为低电平
gpio_set_level(GPIO_NUM_3,1);
gpio_set_level(GPIO_NUM_4,0);
gpio_set_level(GPIO_NUM_5,1);
}
修改3、4、5引脚值,可以看到RGB灯颜色发生变化。