你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【源码】STM32F103 USB转UART,双VCP(CDC),亲测可用

[复制链接]
radio2radio 发布时间:2020-7-28 13:09
我试过两种F103的UART程序,都是简单的双口UART收发的。, o& g" u5 B6 T1 g1 ^# V3 }3 N  v4 V0 i
STM32基于CubeMX的高速串口收发程序(中断模式)( F9 K  w, E& J  g5 i* r
STM32基于CubeMX的高速串口收发程序(DMA模式)
, I1 w0 h% I1 g5 ]
/ J' a8 R7 q7 K3 L" b今天给大家介绍一个USB的双VCP(CDC)程序。 原程序是在github上面发现的:   
http://github.com/RadioOperator/stm32f103_dual_vcp
6 y0 w  A' _6 H: V我做了一个小改进,就是加入了传送数据时LED闪灯。
7 M& q6 O- X8 d8 U" H6 `, K$ @. l- ^& ?, o6 X5 p6 M
这个程序的UART部分比较复杂,空闲中断DMA + 双区缓存DMA。 有参考价值。
2 [( I& x8 w) w* B( ?
$ t7 J& }' i+ B8 ^; R搞过USB软件的都知道,USB软件并不简单,经常掉入坑里面而爬不出来。要实现1个VCP,或者再加上HID等,也是常见。$ c0 X7 _. y. l; V: Y$ l0 R
可是双VCP的,就难度大增,不信你们随便找个板子试一试自己独立完成, 不参考本例程。8 x$ H/ c% }! s  }6 m: i
- \! i) z! W4 K6 P
这个例程,发现有个限制就是,USB端一次连续发送的长度不能超过64个字符,超过的部分会被丢掉。 UART端正常。 不应该有这种问题的。  B& x& K5 T$ K& n' _5 b
0 p/ j$ v# q. T! e) R5 _: T
有什么用,找一个BluePill小板,下载程序以后一条USB线的双UART的VCP就有了,马上可以使用。
3 k  P# M/ Z2 L& N
还可以用两条UART的RX线,同时监测其他UART的TxRx收发线工作情况。
, v% E) c2 Q; ~3 g# l! A$ t

- j) H# y) n+ I2 j3 e6 k% e2021-01-28 : 更新USB底层。 解决了原程序USB初始化不正常问题(经常要插拔两次才能枚举),原因不明。  Y4 e6 q1 t+ r  i, B$ r1 }  X' Y
2021-01-30 : 再次更新,改进LED闪灯部分。3 @, [( q( l) x9 V

6 t2 I" x9 }/ c0 X, I$ R9 |6 ~0 }0 S. @
: H# t& Q# `( l% \1 E

) L/ ~7 Q; t' R: ]9 J. ]2 N0 M2 F3 Z" v' B: i8 e
, J& @8 Z# l( V5 X+ e* \& ?' j

+ V/ k) ]# {1 ]
6 q9 N8 a1 |+ V, R8 {

stm32f103_dual_vcp-master20210130.zip

下载

638.6 KB, 下载次数: 138

1 收藏 3 评论4 发布时间:2020-7-28 13:09

举报

4个回答
cooldog123pp 回答时间:2020-8-8 12:59:22
多谢楼主分享多谢多谢。
xiaonihao444-20 回答时间:2020-8-9 09:06:01
顶一下
radio2radio 回答时间:2021-1-28 19:07:49
一楼附件今天更新。
大白兔 回答时间:2021-1-29 11:14:24
好东西支持
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版