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

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

[复制链接]
radio2radio 发布时间:2020-7-28 13:09
我试过两种F103的UART程序,都是简单的双口UART收发的。
) e7 O; M$ k" @, n- k: k0 h6 TSTM32基于CubeMX的高速串口收发程序(中断模式)
: C) Z- O9 W6 n3 {$ jSTM32基于CubeMX的高速串口收发程序(DMA模式)( a8 Y% ~. K7 l. V! r

) {8 {0 n$ o. V+ h2 i7 r" k今天给大家介绍一个USB的双VCP(CDC)程序。 原程序是在github上面发现的:   
http://github.com/RadioOperator/stm32f103_dual_vcp
1 D4 y- ^0 g7 `4 \: C我做了一个小改进,就是加入了传送数据时LED闪灯。8 v* D6 |% B. Q2 e/ b: Z

2 t$ s! E' ]# t9 q1 t这个程序的UART部分比较复杂,空闲中断DMA + 双区缓存DMA。 有参考价值。
+ ^- Q' f( G" _& X" A8 O: U4 A+ Q3 [) D& K# U
搞过USB软件的都知道,USB软件并不简单,经常掉入坑里面而爬不出来。要实现1个VCP,或者再加上HID等,也是常见。* Z$ E2 W  z2 U4 E* B) T
可是双VCP的,就难度大增,不信你们随便找个板子试一试自己独立完成, 不参考本例程。$ N  s  c2 W2 [( K; g# U) C

! V' A0 |$ {( u: y1 c这个例程,发现有个限制就是,USB端一次连续发送的长度不能超过64个字符,超过的部分会被丢掉。 UART端正常。 不应该有这种问题的。% o$ x2 W5 v0 y$ n  l7 a5 w+ X
* D' T9 F$ }3 {
有什么用,找一个BluePill小板,下载程序以后一条USB线的双UART的VCP就有了,马上可以使用。
1 h. Q' m  i  l* p* y1 o
还可以用两条UART的RX线,同时监测其他UART的TxRx收发线工作情况。9 _2 [# n1 C: x+ E: U
- S; l- D; g# _0 O/ [( [
2021-01-28 : 更新USB底层。 解决了原程序USB初始化不正常问题(经常要插拔两次才能枚举),原因不明。
1 J3 D" U1 n7 O, W5 P: M  j
2021-01-30 : 再次更新,改进LED闪灯部分。* P( h4 w8 v# T* P7 ?0 F

" z/ d6 g% d6 |. g
# I/ ~/ A* u) ~8 l- \
6 n. U0 @6 L! K# A/ l/ D; H* H6 a; G3 `- p* ]
6 D% D1 i" ]  R4 x, k
, A: v3 Y# d9 E3 O- K$ F" I1 y* f

  z; }9 B5 p7 `6 |
" ?# }1 b& E8 ?6 v# p5 X( J

stm32f103_dual_vcp-master20210130.zip

下载

638.6 KB, 下载次数: 148

点评

不错,学习了  发表于 2024-8-29 12:11
1 收藏 3 评论5 发布时间:2020-7-28 13:09

举报

5个回答
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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版