ikai 发表于 2025-6-4 21:35:49

2*CDC 之间转发,会丢失数据~~~

使用 擎天柱 板子来制作CDC相互之间转发,测试两个CDC之间转发数据。   两个串口助手之间通信,数据大约会丢失 15% 的数据。


1.使用擎天柱
2.   使用keil编译
3.定义了USB中断,转发使用周期函数。

VCC 发表于 2025-6-4 21:38:29

同一个单片机产生2个串口?

VCC 发表于 2025-6-4 21:39:15

另外问下你这个串口助手软件在哪里下载,看起来不错啊

ercircle 发表于 2025-6-4 23:34:18

上位机不能无脑发的,要判断下位机处理完成没有。
要么降低发送频率,要么建立ACK机制。

xxkj2010 发表于 2025-6-5 08:27:35

好像以前也试过,把波特率降低了,把发送的频率调低了,有所改善
原因(我猜的):两个CDC都使用同一个USB模块,数据处理来不及
以后有了USB DMA,应该能改善或解决。

ikai 发表于 2025-6-5 20:51:03

VCC 发表于 2025-6-4 21:39
另外问下你这个串口助手软件在哪里下载,看起来不错啊

https://bittly.cn/#download
你可以看一下,这个软件支持的功能挺多的

ikai 发表于 2025-6-5 20:51:42

VCC 发表于 2025-6-4 21:38
同一个单片机产生2个串口?

是的USB支持6个端点,最多可以产生2*cdc和1*hid

xxkj2010 发表于 2025-6-6 11:39:21

ikai 发表于 2025-6-5 20:51
https://bittly.cn/#download
你可以看一下,这个软件支持的功能挺多的
这软件功能很多的,只是只能用在win7以上的,我的win7电脑又无法兼容了

晓飛飛 发表于 2025-6-6 12:04:35

本来UART直接转发UART效率极高,为什么要使用USB-CDC这一层,还要上位介入,好奇怪的需求。

xxkj2010 发表于 2025-6-7 08:23:35

晓飛飛 发表于 2025-6-6 12:04
本来UART直接转发UART效率极高,为什么要使用USB-CDC这一层,还要上位介入,好奇怪的需求。 ...

可能是因为上位机可以直接控制数据传输或处理传输的数据,而直接UART2UART,外部控制不直观,不过CDC2CDC传输,还不如用HID2HID
页: [1] 2
查看完整版本: 2*CDC 之间转发,会丢失数据~~~