ESP32-C3 入门篇(一)芯片选型

文章目录

一、前言

二、ESP32常用型号对比

三、ESP32与ESP32-C3

四、总结


一、前言

    最早接触到乐鑫是ESP8266,然后乐鑫又推出了ESP32,其后几年也持续关注和了解。直到2020年,经过评估后,在公司的项目上使用了乐鑫ESP32-S2。用下来只能用真香来形容,项目上的使用也越来越多,就包含了今天要介绍的ESP32-C3。   

        相较于国内其他芯片厂家,乐鑫的开发资料齐全、调试方便、SDK完善。其中最值得一提的就是ESP-IDF,优秀的代码风格和软件架构以及集成了众多开发IoT的库。这极大降低IoT开发门槛,减少软件开发不必要的重复造轮子的过程,加快了产品开发。

        虽然开发过程简单了,但是开发入门依然有较高的门槛,特别对于习惯使用STM32这样有简单IDE开发的朋友,安装开发环境不再是一路next,其中可能有一些报错。有些人可能到这个步骤就望而却步了。这个系列文章希望在整理回顾的同时也能帮助大家解决开发环境和相关问题。


二、ESP32常用型号对比

系列ESP32ESP32-S2ESP32-C3
发布时间201620202020
CPUXtensa® LX6 32 位双核/单核处理器Xtensa® LX7 32 位单核处理器RISC-V 32 位单核处理器
主频240M240M160M
超低功耗协处理器 (ULP)ULP FSM

PicoRV32 内核,

8 KB SRAM,ULP FSM

N/A
SRAM520KB320KB400KB
ROM448 KB 128 KB 384 KB 
片内Flash无/2 MB/4 MB不同规格无/2 MB/4 MB不同规格无/4 MB不同规格
外部Flash最大支持16MB最大支持1GB最大支持16MB
外部PSRAM支持最大支持8MB最大支持1GBN/A
Wi-Fi802.11 b/g/n、2.4 GHz802.11 b/g/n、2.4 GHz802.11 b/g/n、2.4 GHz
蓝牙

Bluetooth v4.2 BR/EDR 

Bluetooth Low Energy

N/ABluetooth 5.0
ADC

2*12-bit SAR ADC,

18 channels

2*12-bit SAR ADC,

20 channels

2*12-bit SAR ADC,

6 channels

DAC2*8-bit2*8-bitN/A
定时器

4*64-bit通用定时器

3看门狗定时器

4*64-bit通用定时器

3看门狗定时器

2*54-bit通用定时器

3看门狗定时器

温度传感器N/A11
触摸传感器1014N/A
霍尔传感器1N/AN/A
GPIO344322
SPI443
UART322
I2C221
I2S211
Camera11N/A
RMT(红外遥控器)1*8 channels1*4 channels1*4 channels
LED PWM1*16 channels1*8 channels1*6 channels
MCPWM2,提供六个 PWM 输出N/AN/A
USB OTGN/A1N/A
TWAI111
SD/SDIO/MMC主机1N/AN/A
SDIO从机1N/AN/A
以太网MAC1N/AN/A
USB串口N/AN/A1

这三款芯片或模块的成本:ESP32-C3<ESP32-S2<ESP32


三、ESP32与ESP32-C3

        在大部分的IoT项目应用中,我们的外设并不复杂,一般就LED、ADC、sensor、按键、红外。这些上述的ESP32芯片无疑基本都可以满足需求。由于在实际应用中,ESP32和ESP32-S2主要差别在于是否支持蓝牙功能和成本,所以本章节主要对比ESP32和ESP32-C3。

        在外设都满足的情况下,这时我们的主要评估指标为连接能力、Flash存储、SRAM大小,下图直观对比关键特性。

ESP32ESP32-C3
CPU240M 双核XTensa LX6160M 单核 RISC-V
SRAM520KB400KB
Wi-Fi802.11 b/g/n、2.4 GHz802.11 b/g/n、2.4 GHz
蓝牙

Bluetooth v4.2 BR/EDR 

Bluetooth Low Energy

Bluetooth 5.0
外部PSRAM支持最大支持8MB不支持

        根据上述对比,在内部SRAM明确需要外扩支持的情况下,需使用ESP32,比如一些需要驱动分辨率较高彩屏的应用对内存的消耗较大。如果在内部SRAM基本可以满足需求的时候,ESP32-C3的表现优于ESP32。下面引用乐鑫官方的测试数据。


四、总结

        综上,在选型时,首先考虑外设是否满足,较常见的比如是否需要支持蓝牙?是否需要I2C驱动传感器?IO口是否够用等。在都满足的情况下,我们再根据应用评估SRAM是否足够?是否需要片外RAM?片内Flash是否足够?如果是模组还会考虑是否有不同配置引脚兼容的模组?最后我们会综合考虑成本、是否标准供货模组(一般供应商的备料较足,同芯片的模组中也可以做到较低成本)、供货周期来确定型号。

  • 12
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
esp32-c3入门教程 环境篇③——vs code ide快速入门是关于如何使用VS Code IDE进行ESP32-C3开发的教程。VS Code是一种功能强大且流行的集成开发环境,它提供了许多便捷工具和插件来简化代码编写和调试的过程。 首先,我们需要在电脑上安装VS Code。你可以从官方网站上下载并安装VS Code。 安装完成后,打开VS Code并点击"Extensions"图标,搜索并安装ESP-IDF插件。这个插件是为了和ESP32-C3开发框架进行集成而开发的。 接下来,我们需要配置ESP-IDF插件。首先,点击左侧的扩展图标,找到ESP-IDF插件并点击设置图标。然后,找到"espidf.espIdfPath"选项,将其设置为你的ESP-IDF框架的路径。 现在,我们可以开始创建一个新的ESP32-C3项目。点击"File"菜单,选择"New File",然后输入项目的名称。然后,点击"File"菜单中的"Save"来保存项目文件。 接下来,打开终端窗口,点击"Terminal"菜单,选择"New Terminal"。在终端中,输入以下命令来初始化ESP-IDF环境: idf.py set-target esp32c3 idf.py menuconfig 这将打开ESP-IDF的配置菜单,在这里你可以配置各种参数和选项。 配置完成后,我们可以开始编写和调试代码了。在VS Code中,点击左侧的扩展图标,找到ESP-IDF插件并点击设置图标。然后,点击"Build"按钮来构建项目。 构建完成后,我们可以使用VS Code的调试功能来调试代码。点击左侧的调试图标,然后点击"Add Configuration"按钮来添加一个调试配置。然后,点击"Debug"按钮来启动调试模式。 总之,使用VS Code IDE进行ESP32-C3开发是非常方便和高效的。它提供了许多工具和插件来简化开发流程,并提供了强大的调试功能来帮助我们调试代码。希望这个快速入门教程对你有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值