腿毛利小五郎 发表于 2024-4-22 23:52:01

Beetle ESP32 C6迷你开发板串口透传测试

本帖最后由 腿毛利小五郎 于 2024-4-22 23:54 编辑

基于Beetle ESP32 C6实现串口透传前言Beetle ESP32 C6体积小串口资源丰富。探索串口数据透传功能,意在可添加DTU模组,作为中继实现获取其他传感器数据发送至DTU模块透传数据,本文将探索实现Beetle ESP32 C6的串口数据透传。

所需材料
一、Beetle ESP32 C6开发板二、USB转TTL * 2三、杜邦线若干
硬件连接


typeC线接电脑监视,现测试中使用2个串口工具作为传感器和DTU模块。如下:


代码#include <Arduino.h>
#include <HardwareSerial.h>

unsigned short i;
uint8_t temp;
uint8_t received_data; // 创建一个全局数组来保存接收到的数据
uint8_t received_data2; // 创建一个全局数组来保存接收到的数据
uint32_t send_type = 0;
unsigned long lastPacketTime = 0;

// 清理串口读取缓存区的缓存
void clear_usart_buffer() {
i = Serial0.available();
if(i != 0) {
    Serial.print("清空串口接收区的缓存......");
    Serial.println(Serial0.available());
    while(i--) Serial0.read(); // 读取并删除一个数据
    for(int j = 0; j < sizeof(received_data); j++) { // 清空数组
      received_data = 0;
    }
} else {
    //Serial.println("串口接收区的缓存为空!!!");
}
}

// 读取串口数据并保存到数组
void read_usart() {
i = Serial0.available(); // 返回目前串口接收区内的已经接受的数据量
int index = 0; // 创建一个索引来跟踪数组的当前位置

if(i != 0) {
    Serial.print("串口接收到的数据量为:");
    Serial.println(Serial0.available());
    while(i--) {
      temp = Serial0.read(); // 读取并删除一个数据
      received_data = temp; // 将数据保存到数组中
      index++; // 增加索引
      Serial.print(temp);
    }
    received_data = '\0'; // 在数组的末尾添加一个空字符,以标记字符串的结束
    Serial.println("");
    Serial.print("接收到的数据为: ");
    for(int j = 0; j < index; j++) { // 打印接收到的数据
      Serial.print(received_data, HEX);
      Serial.print(" ");
    }
    Serial.println("");
    Serial1.write(received_data,index);//向上传发送
} else {
    Serial.println("串口接收区没有数据!");
}
}

void setup() {
Serial.begin(115200); // 开启串口,设置波特率为115200
Serial0.begin(9600, SERIAL_8N1, /*rx =*/17, /*Tx =*/16);//传感器吐得数据
Serial1.begin(9600,SERIAL_8N1,/*rx =*/4,/*Tx =*/5);//DTU
clear_usart_buffer(); // 清空接收区缓存
}

void loop() {
Serial.println("usart test!!!");
read_usart();
clear_usart_buffer();
delay(10);
}

上位机调试显示


总结
Beetle ESP32 C6串口资源丰富,串口数据传输稳定,适合查询其他传感器数据然后发送至DTU模块透传数据,如果串口转接485模块,还可以利用根据485地址设置查询更多485并联的传感器设备做透传。




腿毛利小五郎 发表于 2024-11-15 19:14:07

回看一下{:5_116:}
页: [1]
查看完整版本: Beetle ESP32 C6迷你开发板串口透传测试