【DFRobot Beetle ESP32-C3开发板试用体验】两个串口+呼吸灯(附源码)

描述

本文来源电子发烧友社区,作者:superjiulong, 帖子地址:https://bbs.elecfans.com/jishu_2284617_1_1.html

1、前言
Beetle ESP32-C3板子拿到手了,第一次见这么小的开发板,太可爱了,焊好扩展板,按照
https://wiki.dfrobot.com.cn/_SKU_DFR0868_Beetle_ESP32_C3给的教程搭建好arduino环境,基本没有坑,唯一的一个问题就是board选择ESP32-C3板,但是port一直识别到的是S3板,不知道原因,卸载重新安装驱动也还是一样,好在不影响程序下载运行,问题暂时搁置,后面再研究,环境搭建过程不再赘述。本文重点介绍串口的使用,一种使用方法是用arduino中的serial minotor打印串口0信息,一种是外接TTL转串口模块来使用串口,特别需要注意的是串口1的使用方法,官方教程里没有介绍,甚至原理图里也找不到。呼吸灯主要是为记录编译下载方法,熟悉的可跳过第2章。
DFRobot

2       编译下载呼吸灯程序(熟悉下载过程者可跳过)2.1     更新板卡,选择port
1、更新板卡
DFRobot
 
2、点击Tools->Board,选择ESP32C3 Dev Module
DFRobot

3、点击Port选择对应的串口
DFRobot

2.2     编译下载
1、 复制呼吸灯程序
 
DFRobot

2、编译,等待下方变为Done compiling
DFRobot

DFRobot

3、下载(arduino称为上传)
DFRobot

3       串口3.1     为什么原理图中没uart1?
1、关于串口的第一个问题:为什么Beetle ESP32-C3接口引脚写的有两个uart口,但是原理图和引脚图只标出一个串口?
 
DFRobot


为弄明白这个问题,先是找到下面这个图,可以看到esp32-c3确实有两个串口,uart1_TX占用芯片的4脚,uart1_RX占用芯片的5脚,然后好好查找一下官方的ESP32-C3技术规格书和技术参考手册,确定推断是否正确。
DFRobot

技术规格书的管脚定义如下如所示,也没有写4、5脚可以复用为串口1,怎么办?再找技术参考手册。
DFRobot

DFRobot

Esp32-c3有一个以前没接触过的用法IOMUX 和 GPIO 交换矩阵 (GPIO, IO MUX),利用 GPIO 交换矩阵和 IO MUX,可配置外设模块的输入信号来源于任何的IO管脚,并且外设模块的输出信号也可连接到任意IO管脚。这下明白了,esp32-c3最强的功能移形换影就这么样被发现了,也就是说UART1可以映射到任何一个IO口上,对不对呢?我们一步步验证。
3.2     serial minotor的使用
1、将USB CDConboot 设置为enable
DFRobot

2、修改程序
为方便看到程序是否开始运行,我们在呼吸灯的基础上添加如下语句:
setup()中添加Serial.begin(115200);
void setup() {
  Serial.begin(115200);
}
loop()中添加Serial.println("superluoyonghao");   
void loop() {   
  Serial.println("super luoyonghao");   
}
3、打开serialminotor

4、效果演示
DFRobot

3.3     使用TTL转串口模块
1、将USB CDConboot 设置为disable
DFRobot

2、连接TTL转232的模块,打开电脑的串口软件
找个TTL转232的模块,接线如下图所示,连接好之后,即可打印出所需要的信息
 
DFRobot

DFRobot

3、 效果演示
DFRobot

 
3.4     Uart1的配置使用
1、将USB CDConboot 设置为disable
DFRobot

2、修改程序
需要特别注意的是uart1需要重新映射,初始化的方法和uart0是不同的,先将uart1映射到0和1端口。
setup()中添加Serial1.begin(115200,SERIAL_8N1,/*rx=*/0,/*Tx =*/1);  
void setup() {
  Serial1.begin(115200,SERIAL_8N1,/*rx=*/0,/*Tx =*/1
}
loop()中添加Serial1.println("superluoyonghao");   
void loop() {   
   Serial1.println("superluoyonghao");   
}
3、连接TTL转232的模块,打开电脑的串口软件,不再赘述
 
3.5     Uart1映射到其他端口
比如映射到4、5端口也是可以的,只需要修改下面的语句
Serial1.begin(115200,SERIAL_8N1,/*rx =*/4,/*Tx =*/5);  
其他操作与上面的相同,不再赘述。
 
4       参考文档
https://blog.csdn.net/AMD81192/article/details/124108964
ESP32-C3_2021-06-25.PDF
technical_reference_manual_cn.pdf
https://wiki.dfrobot.com.cn/_SKU_DFR0868_Beetle_ESP32_C3

DFRobot

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分