|
USB转串口,大家经常用到,市面上也有很成熟悉的产品,CH341就是其中之一。 而且ST的demo也有相关的例子(USB virtual com port ),我们直接用ST的VCP不就完了,为什么还要去模拟CH341呢? 答案有两个: 1、ST的USB virtual com port驱动没有经过微软签名,安装不方便。(特别是WIN8)5 O2 i3 k( c) ]2 v# A, v `# ~ 2、作者无聊练手。 话不多说,先上原理图:
4 ^- f- p8 z7 G9 s 再上开源地址:http://github.com/blackmiaool/STM32_USB_CH341.git , d' Z' b$ v: ^6 H3 o 喜欢的朋友自己下吧。 |
最全USB HID开发资料,悉心整理一个月,亲自测试
【源码】STLINK-V3MINI 高速USB仿真器,成功改刷【高速CMSIS-DAP】
STM32 USB CDC 虚拟多串口
实战经验 | 选择USBX模块生成USB CDC ACM无PD的项目
STM32 USB HID键盘例程
刘氓兔的杂谈【001】-片上USB 高速PHY
【经验分享】在进行 USB CDC 类开发时,无法发送 64整数倍的数据
在线直播|无需编写任何代码即可在STM32上实现USB-C Power Delivery
圈圈发布USB图书第二版有感,以及分享一些我学习USB过程...
USB Audio设计与实现
微信公众号
手机版
使用这个固件,可以使用CH341的驱动,不知这么说你明白否?
+ |1 w2 Q+ c+ [& h5 J+ [5 }! V
$ N* y8 B4 v5 u) S
/ m8 H# [( U5 ?6 \
. k+ \4 l+ p9 \+ Q
2 B3 F& L+ V- w
, d: u3 w% H5 ^$ r2 O
请把错误信息发上来。
1 b( X8 K/ E3 J2 H
( K$ [, X/ T' n* |$ o# d0 Q' s6 Y
) T% |; k4 f9 U! ^( f
# n3 t q7 W3 v$ t
用3.61版本的库,收集ST社区的代码实现了USB转3路CDC串口。只有HAL库版本,实现了DTR、Break5 N" F5 e; [5 ^9 w- b" e
信号控制,其它版本可能是官方例程没有定义相应的函数,上位机发出break信号时,总是发现错误。
3 h# D* o* g0 ~$ Z2 S& {
现在不知道CH341的驱动是否支持多串口,另外,固件库的版本太多,代码移植就非常困难,HAL驱动
移植到GCC,现在都比较麻烦,因为CMIS层麻烦。# D: \6 Y; Q- A! x& e1 [% s
6 U% P `- W! m6 m6 X" j
自己测试下便知,串口的速度,本身就那样,只是方便而已。
是USB协议要求的,1.5K上拉在D+时表示是全速设备,在D-表示不是全速设备。
这个错误,不解释。