STM32F4 USB虚拟串口多发送

2019-07-20 01:36发布

各位,小弟最近一个项目需要使用和上位机传5M左右的数据,之前用的CH340太慢了!
我想到了USB虚拟串口,因为我对USB协议不熟,也没有时间去研究,所以直接在网上找了示例代码。

现在遇到的问题为:
USB虚拟串口发送完成后,会多发送一些,如图:

111.png

发送了u8 dat[12] = {"Hello world"};之后,串口多发送了两个0x00,发送的0x00多少随着单次发送字节长度变化。当发送不定长的数据时,0x00会变多

问题如下:

1、有没有遇到过这个问题,这是STM虚拟USB的通病吗?还是我的示例代码有问题
2、虽然我也可以加0xFF之类的作为数据包的结尾,或者增加其他的校验,但是会和之间老版本的设备无法兼容。各位有没有什么对策?
3、如果是我的示例代码有问题,还请发送一份代码给我,小弟不胜感激。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
sammy902583
1楼-- · 2019-07-20 06:41
oxygensun 发表于 2019-5-31 10:48
非常感谢您发送来的代码,但是这份代码在我这里出现了绝大部分示例代码出现的问题:运行之后提示了“未知 ...

您确定您的线路和这个专案有对起来吗?
如果您是用STM32上面的USB FS的DM DP接出来的USB port是不可用的.

要用STM32F405RG->USB3300->USB Port, 接线还有时钟配置我应该在目录里面有放, 可以用CubeMX打开来对照. 如果不同,需要依照原理图做修改.

驱动不需要用什么特别的, Windows 10自带, Windows 7可以用ST网站下载.
月下良缘
2楼-- · 2019-07-20 09:49
帮忙顶一顶
sammy902583
3楼-- · 2019-07-20 13:01
 精彩回答 2  元偷偷看……
正点原子
4楼-- · 2019-07-20 18:53
 精彩回答 2  元偷偷看……
oxygensun
5楼-- · 2019-07-20 20:02
sammy902583 发表于 2019-5-20 22:55
没有多发送的问题过.
UART倒是有可能某一边错过收封包时机造成资料不见.
装BusHound观察传输的封包, 比对 ...

请问您那边有没有可用的虚拟USB串口示例代码,能分享一份?
oxygensun
6楼-- · 2019-07-21 00:01
 精彩回答 2  元偷偷看……

一周热门 更多>