[单片机芯片] 沁恒CH32F103C8T6的USB

[复制链接]
2546|17
 楼主| yangjiaxu 发表于 2022-2-18 11:08 | 显示全部楼层 |阅读模式
本帖最后由 yangjiaxu 于 2022-2-18 11:18 编辑

请问一下@WCHTech2 ,沁恒CH32F103C8T6的USB与ST的USB的差别是什么?是缓冲区大小不一样是么?现在我想上传一串数据,0119405788,它会上来不定长的数据;感觉像缓冲区不一样导致的;

68241620f0d6e237f5.png
guijial511 发表于 2022-2-19 11:57 来自手机 | 显示全部楼层
不是很了解,帮顶一下。
chenqianqian 发表于 2022-2-19 12:54 来自手机 | 显示全部楼层
帮顶,等大神回答。
ErrorGz 发表于 2022-2-20 19:45 | 显示全部楼层
最近也用了ch32f103的开发板,使用arduino软件开发,按stm32f103的MCU作为目标板。
使用ST-LINK上传程序比ST的慢,但也能上传成功。
USB虚拟串口方面出现一些奇怪的现象:一是通过USB HUB再接电脑时,不一定能识别;二是在PC端向MCU的虚拟串口发送数据必定PC卡死。这两个现象如果使用ST的都没有问题。

求技术人员分析一下
daichaodai 发表于 2022-2-21 08:17 来自手机 | 显示全部楼层
版主大大还不来解决吗?
WCHTech2 发表于 2022-2-21 10:00 | 显示全部楼层
您好,关于CH32F103的USB与同型号ST的USB的区别在于,CH32F103在兼容USB的同时,增加USB设备低速模式,增加内置电阻,其余完全兼容;此外,CH32F103还新增USB2.0全速控制器,支持主机模式和设备模式。关于CH32F103对比其他同级产品的功能异同,具体可参考下面链接手册:
http://www.wch.cn/downloads/CH32F103DS1_PDF.html
 楼主| yangjiaxu 发表于 2022-2-21 11:37 | 显示全部楼层
ErrorGz 发表于 2022-2-20 19:45
最近也用了ch32f103的开发板,使用arduino软件开发,按stm32f103的MCU作为目标板。
使用ST-LINK上传程序比S ...

这个烧录的话,需要用JLINK或者DAPlink然后选择沁恒提供的flm算法才可以哦,如果直接用ST的算法烧录的话属实会很慢,大概会操作1分钟呢;

第二个问题,这个我也是USB部分遇到了问题,暂时还没解决;不过可以看看手册,看看能不能找到答案
 楼主| yangjiaxu 发表于 2022-2-21 22:31 | 显示全部楼层
WCHTech2 发表于 2022-2-21 10:00
您好,关于CH32F103的USB与同型号ST的USB的区别在于,CH32F103在兼容USB的同时,增加USB设备低速模式,增加 ...

感谢您的技术支持,但是我暂时不清楚我出现这个问题的原因是由什么导致的,我使用的是射频读卡模拟HID键盘方式进**号上传至电脑软件端,现在可以上来数据,就是数据不正确,能给个思路么?我好对应去找解决方法;
ErrorGz 发表于 2022-2-22 13:41 | 显示全部楼层
yangjiaxu 发表于 2022-2-21 11:37
这个烧录的话,需要用JLINK或者DAPlink然后选择沁恒提供的flm算法才可以哦,如果直接用ST的算法烧录的话 ...

感谢回答。
WCHTech2 发表于 2022-2-22 14:09 | 显示全部楼层
yangjiaxu 发表于 2022-2-21 22:31
感谢您的技术支持,但是我暂时不清楚我出现这个问题的原因是由什么导致的,我使用的是射频读卡模拟HID键 ...

您好,如果你是模拟HID设备的话,比如鼠标键盘,一般限定端点最大包长度不超过8字节,如果超过8字节,数据传输就会出现异常,你可以检查一下描述符限定端点的最大包长度是多少,你可以改为最大包64字节。
WCHTech2 发表于 2022-2-22 14:18 | 显示全部楼层
ErrorGz 发表于 2022-2-20 19:45
最近也用了ch32f103的开发板,使用arduino软件开发,按stm32f103的MCU作为目标板。
使用ST-LINK上传程序比S ...

您好,附件为模拟CDC例程,你可以参考测试一下!,关于HUB问题以及卡死问题,你可以用例程测试一下是否会有此问题。

CH32F103_USBD模拟CDC设备.zip

6.11 MB, 下载次数: 30

ErrorGz 发表于 2022-2-25 16:49 | 显示全部楼层
WCHTech2 发表于 2022-2-22 14:18
您好,附件为模拟CDC例程,你可以参考测试一下!,关于HUB问题以及卡死问题,你可以用例程测试一下是否会 ...

谢谢回复,试过官方CDC例程,直插USB有模拟串口,发送数据正常不卡死。而通过USB HUB还是不能识别。

对于程序代码差异比较大,很难做比较,例如发现USB设备描述符,bInterfaceProtocol位,arduino STM32的代码是0,而CH32例程代码是1。

主要是arduino开发方式比较简易也简洁。
tpgf 发表于 2022-3-3 19:49 | 显示全部楼层
可以对比一下手册数据
xiaoqizi 发表于 2022-3-3 20:56 | 显示全部楼层
可以用什么模拟呢
木木guainv 发表于 2022-3-3 21:08 | 显示全部楼层
发送数据速度加快会卡死吗
 楼主| yangjiaxu 发表于 2022-3-4 08:25 | 显示全部楼层
木木guainv 发表于 2022-3-3 21:08
发送数据速度加快会卡死吗

快也是标准的USB速度吧,所以不会卡死的哦
七毛钱 发表于 2022-3-11 10:15 来自手机 | 显示全部楼层
对数据发送速度快慢有影响吗
liqingfeng123 发表于 2022-3-18 14:58 | 显示全部楼层
USB眼图能发一下?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:嵌入式技术专家
简介:擅长电路设计、物联网产品开发、射频产品开发,喜欢打篮球,技术交流,欢迎各位来聊~

805

主题

3383

帖子

10

粉丝
快速回复 在线客服 返回列表 返回顶部