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

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

[复制链接]
radio2radio 发布时间:2020-7-28 13:09
我试过两种F103的UART程序,都是简单的双口UART收发的。
% e) q# e8 r% KSTM32基于CubeMX的高速串口收发程序(中断模式)5 ?; A4 S9 b5 ?8 O
STM32基于CubeMX的高速串口收发程序(DMA模式)& ^0 }! S- M% [3 b& K; }& K& H

( b. g) X6 e$ X7 T/ w& Y, b# p- B+ m7 s今天给大家介绍一个USB的双VCP(CDC)程序。 原程序是在github上面发现的:   
http://github.com/RadioOperator/stm32f103_dual_vcp
0 y$ U6 I; H8 p; X8 `我做了一个小改进,就是加入了传送数据时LED闪灯。! X( ^8 ?( a, J4 L
- M! h2 e/ d( j1 W2 y" K
这个程序的UART部分比较复杂,空闲中断DMA + 双区缓存DMA。 有参考价值。8 ~+ S7 z) X; s7 O- D" u# H6 H
  ^1 h$ ?# p" {0 N% Z3 x
搞过USB软件的都知道,USB软件并不简单,经常掉入坑里面而爬不出来。要实现1个VCP,或者再加上HID等,也是常见。
( D4 s. |( O, \/ W+ Y可是双VCP的,就难度大增,不信你们随便找个板子试一试自己独立完成, 不参考本例程。
: v! n! ^' j. |) Q" `7 F7 V# t1 v3 P" ]0 s. f. f1 d! w, I
这个例程,发现有个限制就是,USB端一次连续发送的长度不能超过64个字符,超过的部分会被丢掉。 UART端正常。 不应该有这种问题的。
6 R$ n' |5 l1 k& D! k, _& j9 k. K- `) O! o
有什么用,找一个BluePill小板,下载程序以后一条USB线的双UART的VCP就有了,马上可以使用。
5 y: r" e6 T$ v6 z
还可以用两条UART的RX线,同时监测其他UART的TxRx收发线工作情况。6 B  N; p8 ]3 k

! i, f- y7 C" y3 \# q: e$ w* n: A2021-01-28 : 更新USB底层。 解决了原程序USB初始化不正常问题(经常要插拔两次才能枚举),原因不明。
. f1 O4 Y0 N; a, H* r2 \1 N
2021-01-30 : 再次更新,改进LED闪灯部分。
6 E# j1 r( R* {

6 f$ d2 t- X- I: P9 r6 F/ Q8 D- z$ X

; N* U1 V, j. m& c: l: i% Z6 r6 }; U% J% P, c) X$ e0 P

% F, U6 ^2 a2 x9 @
6 z* {" }% B, G6 b- |. J/ y
3 X2 K4 l3 T. w" m$ r2 s& P3 Q0 A2 M% ^" z/ `% o

stm32f103_dual_vcp-master20210130.zip

下载

638.6 KB, 下载次数: 139

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