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

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

[复制链接]
radio2radio 发布时间:2020-7-28 13:09
我试过两种F103的UART程序,都是简单的双口UART收发的。4 c/ t% G& g0 x" E# N6 g
STM32基于CubeMX的高速串口收发程序(中断模式)6 c" E' t7 x. _
STM32基于CubeMX的高速串口收发程序(DMA模式)
- H5 s: ~% {: J# u+ G, o, [! X9 J/ f, X% K) m
今天给大家介绍一个USB的双VCP(CDC)程序。 原程序是在github上面发现的:   
http://github.com/RadioOperator/stm32f103_dual_vcp6 y4 S3 W8 Y( U2 |% S
我做了一个小改进,就是加入了传送数据时LED闪灯。
& ~# W8 P+ f9 q" W: L7 k/ G0 I, }' ~: e+ _$ b* `+ l
这个程序的UART部分比较复杂,空闲中断DMA + 双区缓存DMA。 有参考价值。
. f6 T# ]4 g) M; j! h5 N$ G+ r" K8 t/ N- i
搞过USB软件的都知道,USB软件并不简单,经常掉入坑里面而爬不出来。要实现1个VCP,或者再加上HID等,也是常见。; H9 I0 L7 d. l9 w: R
可是双VCP的,就难度大增,不信你们随便找个板子试一试自己独立完成, 不参考本例程。- g9 M( l  @3 E5 m5 k5 g. {

/ W! V* ^: A8 z5 A$ e3 C这个例程,发现有个限制就是,USB端一次连续发送的长度不能超过64个字符,超过的部分会被丢掉。 UART端正常。 不应该有这种问题的。3 [+ P% ~1 o/ u2 }' L! w9 z& |! w

$ Y6 [( u) R3 P% y+ K- a7 R
有什么用,找一个BluePill小板,下载程序以后一条USB线的双UART的VCP就有了,马上可以使用。6 F" R1 P1 e' t/ Z/ `+ n; n7 a; C7 I5 g/ a; O
还可以用两条UART的RX线,同时监测其他UART的TxRx收发线工作情况。
; B# y* t2 v5 v
5 [" n. @/ j; V9 x* {9 Z
2021-01-28 : 更新USB底层。 解决了原程序USB初始化不正常问题(经常要插拔两次才能枚举),原因不明。
3 u  `. j  U: P3 W
2021-01-30 : 再次更新,改进LED闪灯部分。
  {- {7 A) K. \7 a0 c
% q: X+ \0 v9 \- G
: N5 a3 n9 m2 e# |5 u) D! H! Z
' v* g) K0 `/ f& p5 G* W

/ @/ r; M7 R, ~& ^( y% F! ^# S: A& O0 R' k8 j

: V1 E2 G" p; Z- `& h: R% W/ P4 s% X& L) j1 O

3 s+ W% {4 ~" v4 y2 z

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 手机版