gaowh 发表于 2019-1-21 08:47:54

串口转USB数据通信问题探讨

最近有个项目需要用到USB-CDC-USART功能,基本功能实现后实测发现从串口接收到数据后,经USB发出去时会存在丢数据行为。
于是此类问题想和广大坛友一起探讨一下,是否有更好的解决方案:
1 我所知道如果类似STM32有帧中断功能,接收一帧数据后发往USB口(但需要提前规定帧长,USB 不能超过USB 端点长度)
2 有DMA功能的mcu,USB设置为DMA模式,定长发送,超时非定长发送。
3 无DMA功能也无帧中断功能(?)

gaowh 发表于 2019-1-21 08:50:42

针对第三种,既无DMA也无帧中断。我想到的一种方法就是:
开辟一个buffer区,用来保存串口数据,同时定义一个头指针与一个尾指针。
头指针指向USB发送数据起点;尾指针指向串口数据接收的终点。

20061002838 发表于 2019-1-21 10:42:33

缓冲区是必须的,TxRx都要
参考USB转串口芯片,那里面是硬件的逻辑,响应速度比用MCU实现的快得多,但是依然需要缓冲区
页: [1]
查看完整版本: 串口转USB数据通信问题探讨