0. 准备
- Arduino IDE 1.8.19
- ESP32 Arduino开发库 2.0.5
- CEM5825F模块
- ESP32开发板
- 母头杜邦线*4
到手的时候没注意看,今天拿出来测试才发现CEM5825F模块的孔间距是2.00mm,手里边全是2.54的排针排母,没办法只能先把杜邦线一头端子剪掉直接缠在焊孔上,还有就是商城提供的数据手册是旧版本的,下面会贴出新版本手册比较重要的部分
1. CEM5825F模块图片


2. CEM5825F模块新版手册摘要




3. ESP32开发板与CEM5825F模块连线图

4. 代码
//全局定义数据接收变量
String data = "";
void setup() {
//回车+换行符 转义符:\r\n 十六进制:0D 0A
//通信格式:每条数据以"回车+换行符"结尾
//初始化串口0 上位机(串口调试工具)与开发板通信(打印数据和发送指令)
Serial.begin(115200);
//初始化串口2 开发板与CEM5825F模块通信
Serial2.begin(115200);
}
void loop() {
//判断是否有上位机发来的指令
if (Serial.available()) {
//读取数据直到遇到换行符返回(不包含换行符\n),数据是以"回车+换行符"结尾,所以这里data数据末尾还剩一个回车\r
data = Serial.readStringUntil('\n');
//在数据末尾添加一个换行符\n,然后发送给模块
Serial2.print(data + '\n');
}
//判断是否有模块发来的数据
if (Serial2.available()) {
data = Serial2.readStringUntil('\n');
//在数据末尾添加一个换行符\n,然后发送给上位机(串口调试工具)
Serial.print(data + '\n');
}
//注意:CEM5825F模块默认串口输出间隔是100ms,发送数据比较快,所以这里不建议加延迟,否则串口数据无法及时读取出来,缓冲区满了以后就会丢失数据.
}
5. 调试

2023/04/09 18:15

全部评论