写点什么

Arduino ESP32-C3 入门初探

作者:矜辰所致
  • 2022 年 10 月 08 日
    江苏
  • 本文字数:1618 字

    阅读完需:约 5 分钟

Arduino ESP32-C3 入门初探
近两年经历的芯片涨价潮,使得很多工程师不得不多考虑更多的MCU方案,随着乐鑫ESP-C3和ESP-S2的发布量产,价格上有很大的优势,如果能够学会ESP32,使用ESP32作为MCU也是一个方向,同时也能熟悉下RISC-V 架构的处理器,毕竟在新起的IOT领域RISC-V架构也有很大的竞争力的。
复制代码


正好买了几款 ESP32-C3 的小开发板(是安信可的,因为乐鑫原厂的贵好几倍……),找了个时间捣鼓一了下,挑了一块 ESP32-C3 的开发板,如下图。



本着以快速跑起来的原则,没有使用 ESP-IDF(但是后面肯定是要用的),因为是安信可的开发板,还是去安信可那边找了相关的资料。


这边参考了一下安信可科技官方博文的文章:windows下Arduino IDE搭建安信可ESP32-C3系列模组的开发环境

一、ArduinoIDE 的安装配置

ArduinoIDE 的安装我是按照上面推荐的博文里面的步骤进行的,或者可以在 ArduinoIDE 官方下载最新版本:ArduinoIDE官方下载地址


安装步骤没有什么特别的,自己选择好自己需要的安装路径,一键安装,安装完成以后会自动安装一些驱动,整个过程让它自动完成即可。


安装完成以后,首先要进行设置,打开 ArduinoIDE ,点击文件-首选项:



打开后界面解释如下:



上图中,基本都是很简单的配置,大部分不需要修改,图中标注星星的地方是我自己修改的路径,默认的是在 C 盘中的:


Arduino 首选项 preferences.txt 路径修改

修改方式很简单,只需要在 Arduino 安装目录下面自己新建一个名为portable的文件夹即可,如下图:



修改完成重新打开路径自动就发生了变化,然后就可以进行接下来的操作,导入 ESP32 的离线包

Arduino 导入 ESP32-C3 的目录

ESP32-C3 资料的离线包,我是在开始推荐的安信可官方博文中连接下载的,下载好以后解压出来会有一个 Arduino15 的包,解压出来得到 Arduino15 文件夹:



因为我修改了 preferences.txt 路径,所以这里和官方的不太一样,我们直接将这个 Arduino15文件夹下面所有的文件全部拷贝至 Arduino 安装目录下面新建一个的portable文件夹中(操作需要在关闭 ArduinoIDE 的时候进行):



完成以后打开 ArduinoIDE,就可以在工具选择中开发板栏目选择 ESP32 相关的开发板了:


开发板端口无法选择问题

在进行测试之前,有必要补充一个问题,因为我也遇到过,就是工具下面开发板选好了,也和电脑通过 USB 连接上了,设备管理器中确实有设备的 COM 口号,但是 ArduinoIDE 中开发板下面的端口选项是暗下去的,根本无法选择,如下图:



最初我也是这个样子,我通过设备管理器查看端口号确实是有的,最后的解决办法就是:


重新安装了一遍使用的开发板的 USB 转串口驱动,即便你以前安装过驱动,串口能够正常识别。


大概分析原因就是 安信可 ESP32-C3 开发板使用的 USB 转串口是国产的 CH340 芯片,虽然以前电脑上安装过,但是安装 ArduinoIDE 的时候,会自动安装一些驱动之类的东西,官方的驱动肯定是不支持 CH340 的,导致了冲突把。

二、LED 跑起来

在上面安装完成以后我们需要选择好自己的开发板对应的参数,在 IDE 工具一栏里面选择,端口需要将开发板和 PC 连接起来以后才能够选择:



选择好参数,我们就可以选择示例进行测试了,在文件-示例中,我们选中一个 IO 口的例子,如下图:



打开示例后,会弹出一个串口,就一个文件,我们先了解一下编译和下载的按钮,如下图:



因为我只想运行跑马灯,打开的这个ledcWrite_RGB其实带有 RGB 三色调光的示例,我直接改成 RGB 三色灯轮流切换(其实就是 3 个不同的 IO 口点亮 LED 灯):



改完以后直接点击向右的箭头,编译然后烧录等待下载完成即可,如下图:



注意,选择的示例不一定是适配每一个开发板的,要学会根据自己的开发板修改一定的配置。


简单举个例子,刚开始我改完发现 LED 灯怎么少一个灯亮,后来找到自己使用的开发本的资料查看才发现 IO 口和示例中的 IO 口使用不一致,在我选择的示例开头:


// Set up the rgb led namesuint8_t ledR = 2;uint8_t ledG = 4;uint8_t ledB = 5; 
复制代码


而开发板资料中:



所以得把uint8_t ledR = 2;改成uint8_t ledR = 3;然后就一切正常。


至此,我们完成了 Arduino 下 ESP32-C3 的第一个示例程序。

发布于: 刚刚阅读数: 3
用户头像

矜辰所致

关注

CSDN、知乎、微信公众号: 矜辰所致 2022.08.02 加入

不浮夸,不将就,认真对待学知识的我们,矜辰所致,金石为开! 为了活下去的嵌入式工程师,画画板子,敲敲代码,玩玩RTOS,搞搞Linux ...

评论

发布
暂无评论
Arduino ESP32-C3 入门初探_Arduino_矜辰所致_InfoQ写作社区