ESP-C3入门1. VSCode+IDF 开发环境

news2024/11/26 4:35:31

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. 引脚描述

名称序号类型功能
GND1,2,11,14,36-53P接地
3V33P供电
NC4,7,9,10,15,17,24,25,28,29,32,35-
IO25I/O/TGPIO2,ADC1_CH2,FSPIQ
IO36I/O/TGPIO3, ADC1_CH3
EN8I高电平:芯片使能;低电平:芯片关闭 注意不能让EN浮空
IO012I/O/TI GPIO0, ADC1_CH0, XTAL_32K_P
IO113I/O/TI GPIO1, ADC1_CH1, XTAL_32K_N
IO1016I/O/TGPIO10, FSPICS0
IO418I/O/TGPIO4, ADC1_CH4, FSPIHD, MTMS
IO519I/O/TGPIO5, ADC2_CH0, FSPIWP, MTDI
IO620I/O/TGPIO6, FSPICLK, MTCK
IO721I/O/TGPIO7, FSPID, MTDO
IO822I/O/TGPIO8
IO923I/O/TGPIO9
IO1826I/O/TGPIO18, USB_DIO19 27 I/O/T GPIO19, USB_D+
IRXD030I/O/TGPIO20, U0RXD
ITXD031I/O/TGPIO21, 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灯颜色发生变化。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/90368.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【AI with ML】第 5 章 :自然语言处理简介

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

【Spring】——13、BeanPostProcessor在Spring底层是如何使用的?

&#x1f4eb;作者简介&#xff1a;zhz小白 公众号&#xff1a;小白的Java进阶之路 专业技能&#xff1a; 1、Java基础&#xff0c;并精通多线程的开发&#xff0c;熟悉JVM原理 2、熟悉Java基础&#xff0c;并精通多线程的开发&#xff0c;熟悉JVM原理&#xff0c;具备⼀定的线…

本周推荐 | 表达式引擎的组合子实现方案

推荐语&#xff1a;本文清晰而详细地介绍了如何使用 Parser 组合子方案&#xff0c;结合 Monad 通过合理的分层、抽象和组合&#xff0c;在性能达标的情况下实现消息场景中函数式的表达式解析。非常具有实践意义&#xff0c;推荐阅读学习&#xff01;——大淘宝技术终端开发工程…

java+mysql基于ssm的网上订餐外卖管理系统

随着人们生活节奏的加快,网上订餐和外卖是当前很多人的一个选择,如何能够让更多的人吃上美味健康的饭菜是本系统研究的一个重要内容,同时本系统还拥有外卖的功能,让食客可以第一时间享受的想要吃到的美食 根据条件需要,系统结构主要由三大用户组成。一是买家组成的买家用户,二…

虹科技术 | 终端入侵防御 | 在重大攻击中发现新的Babuk勒索软件

11月期间&#xff0c;Morphisec在调查一个客户的防范事件时发现了Babuk勒索软件的一个全新变种。Babuk在2021年初首次被发现&#xff0c;当时它开始针对企业进行双重勒索攻击&#xff0c;以窃取和加密数据。这一年晚些时候&#xff0c;一个威胁者在一个讲俄语的黑客论坛上泄露了…

【案例教程】气象数据相关分析:如何使用格点数据分析中国霜冻灾害变化技术

【查看原文】气象数据相关分析及使用系列&#xff1a;如何使用格点数据分析中国霜冻灾害变化技术 霜冻是一种短历时的农业气象灾害&#xff0c;它是由于日最低气温下降&#xff0c;使植物茎、叶处温度下降到0℃以下&#xff0c;导致正在生长的植物受到冻伤的现象。霜冻出现的早…

深度学习——数据增广(笔记)+代码

1.为什么要进行数据增广&#xff1f; ①大型数据集是深度网络的前提条件 ②图像增广对训练数据进行一系列的随机变化&#xff0c;生成相似但不同的训练样本&#xff0c;从而扩大训练集的规模 ③数据增广&#xff1a;可以处理图片和文本和语音。 ④对于图片的处理方式包括&a…

FITC-PEG-DBCO,Fluorescein-PEG-DBCO,荧光素-PEG-DBCO

【产品描述】 DBCO试剂在水性缓冲液中具有快速动力学和稳定性&#xff0c;可用于标记叠氮化物修饰的生物分子&#xff0c;具有高特异性和反应性。FITC具有高吸收率的荧光量子产率和良好的水溶性等特点&#xff0c;是生物学中应用广泛的一种绿色荧光素衍生物&#xff0c;除了用作…

【TypeScript系列】【一篇就够】TypeScript知识点总结(一)

00 TypeScript简介 TypeScript是JavaScript的超集。它对JS进行了扩展&#xff0c;向JS中引入了类型的概念&#xff0c;并添加了许多新的特性。TS代码需要通过编译器编译为JS&#xff0c;然后再交由JS解析器执行。TS完全兼容JS&#xff0c;换言之&#xff0c;任何的JS代码都可以…

神经网络科研绘图可视化工具

本文介绍10种科研绘图可视化工具。 目录1.神经网络框架自带的可视化工具库2.NN-SVG3.PlotNeuralNet4.netron5.ZETANE6.Tensorspace.js7.GRAPHCORE8.nn_vis9.PowerPoint1.神经网络框架自带的可视化工具库 pytorch&#xff1a;pytorchviz库&#xff1b; keras&#xff1a;keras.…

Map和Set

目录 1.搜索 1.1 概念 1.2 模型 2.Map的使用 2.1 Map说明 2.2 Map.Entry说明,v> 2.3 Map的常见方法 2.3.1 V put(K key, V value) 2.3.2 V get(Object key) 2.3.3 V getOrDefault(Object key, V defaultValue) 2.3.4 Set keySet() Collection values() 2.3.5 S…

JavaWeb语法二:Thread类的基本使用

目录 1.创建线程 1.2&#xff1a;run()和start()方法 1.3&#xff1a;Thread的几个常见属性 2.线程的有关操作 2.1&#xff1a;启动一个线程&#xff1a;start() 2.2&#xff1a;中断一个线程 2.2.1&#xff1a;使用自定义的变量来作为标志位 2.2.2&#xff1a;使用Thr…

高校校园网络

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a;开发工具IDEA-2020.1,数据库mysql55.527,SSM框架&#xff0c;jdk版本"1.8.0_74"&#xff0c;java语言。 管理员…

小白年薪26万,为什么Python岗位的薪资越来越高?问题解析

人工智能和大数据概念的兴起&#xff0c;带动了Python的快速增长——Python语言逻辑简洁、入门简单、生态丰富&#xff0c;几乎成为几个新兴领域的不二选择。而除了这两个领域&#xff0c;Python还有更多的适用领域&#xff1a;爬虫、web、自动化运维等领域都非常适合Python发挥…

大二学生HTML期末作业、个人主页网页制作作业

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

代码随想录第八天

专题&#xff1a;字符串 题目&#xff1a; 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间&#xff0c;你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所…

CleanMyMacX4.15好用吗?CleanMyMac X2023安全吗?

CleanMyMac x4.15已经正式发布&#xff0c;作为最新的系统清理和应用管理软件&#xff0c;可以让用户一键智能化清理Mac电脑&#xff0c;自动扫描Mac上的所有文件&#xff0c;包括&#xff1a;Mac系统清理、邮件应用程序清理、大和旧型文件清理、itunes文件清理、废纸篓清理、应…

【总结】少信那些个包发论文的营销文案,7场直播讲解如何锻炼基础的学术研究能力...

对于广大研究生甚至本科生来说&#xff0c;发表满足学校或者实验室要求的公开学术论文是毕业要求&#xff0c;多少都会具有一定的压力&#xff0c;尤其是一些学校实验室要求比较高。作为过来人&#xff0c;其中焦虑有三也是懂的&#xff0c;研究生期间为此焦虑过一两年。正应如…

安科瑞ARB5弧光保护装置非电量保护装置故障告警可选配GOOSE

安科瑞 王晶淼/刘芳 一、ARB5系列弧光保护装置概述 ARB5系列弧光保护装置外观时尚、大屏幕液晶显示&#xff0c;图形化多语言菜单&#xff0c;操作快捷方便&#xff1b;具有强大的功能集成&#xff1a;集保护、测量、控制、监测、通讯、故障录波、事件记录等多种功能于一体,准…

时间序列-预测(Forcasting):时间序列预测算法总结

一、背景介绍 绝大部分行业场景,尤其是互联网、量化行业,每天都会产生大量的数据。金融领域股票价格随时间的走势;电商行业每日的销售额;旅游行业随着节假日周期变化的机票酒店价格等; 我们称这种不同时间收到的,描述一个或多种特征随着时间发生变化的数据,为时间序列…