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

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

[复制链接]
radio2radio 发布时间:2020-7-28 13:09
我试过两种F103的UART程序,都是简单的双口UART收发的。
' V1 K4 b- B, A) \# o$ U' C# R& CSTM32基于CubeMX的高速串口收发程序(中断模式)( R4 H' f; c6 A9 R; M9 a: C, O
STM32基于CubeMX的高速串口收发程序(DMA模式)
) d0 R: P1 Q3 f. o1 w
$ z/ X) o" j+ Y5 z) o  @: a6 L( V今天给大家介绍一个USB的双VCP(CDC)程序。 原程序是在github上面发现的:   
http://github.com/RadioOperator/stm32f103_dual_vcp
1 e/ [. S9 `2 r+ c/ d' h& I2 L我做了一个小改进,就是加入了传送数据时LED闪灯。$ T7 I. g8 d9 c- @

1 f  ~5 k) z8 M6 K! h这个程序的UART部分比较复杂,空闲中断DMA + 双区缓存DMA。 有参考价值。% B  p2 C: A: U9 Z9 E
: a4 l% R4 m2 q
搞过USB软件的都知道,USB软件并不简单,经常掉入坑里面而爬不出来。要实现1个VCP,或者再加上HID等,也是常见。! ~/ {& w0 @/ f0 x( b* o; V
可是双VCP的,就难度大增,不信你们随便找个板子试一试自己独立完成, 不参考本例程。
' @  V5 V9 R/ O
- M. G2 m7 N9 \5 \% R这个例程,发现有个限制就是,USB端一次连续发送的长度不能超过64个字符,超过的部分会被丢掉。 UART端正常。 不应该有这种问题的。, \0 B$ B5 J# i/ R4 a

, x1 e* s& i8 D5 L( m
有什么用,找一个BluePill小板,下载程序以后一条USB线的双UART的VCP就有了,马上可以使用。
8 x/ M; v1 t' |8 u' J
还可以用两条UART的RX线,同时监测其他UART的TxRx收发线工作情况。
/ p: F& [! B+ f$ I, D
2 w! j1 `3 @/ U& o
2021-01-28 : 更新USB底层。 解决了原程序USB初始化不正常问题(经常要插拔两次才能枚举),原因不明。
6 g  _9 X  D" L& V4 Y* }- {* H
2021-01-30 : 再次更新,改进LED闪灯部分。# n+ ?8 M9 h5 _+ Y. c: s

; e$ O  O; _" s2 F; I* f' {. k7 @6 ?+ Y! B
" G2 z* m3 V- w) n4 z

' e6 M% ~4 X7 O: U6 P! ^
5 f/ X$ d& R$ S5 ~) Q0 m+ f. ?  v& N9 P' S2 ], b8 ~

0 @7 _4 h9 D( s% s/ K8 N# I
7 i7 q+ H% ?! Q) F

stm32f103_dual_vcp-master20210130.zip

下载

638.6 KB, 下载次数: 200

点评

不错,学习了  发表于 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管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版