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

分享:STM32 USB模拟CH341(开源)  

[复制链接]
党国特派员 发布时间:2015-1-6 17:02
USB转串口,大家经常用到,市面上也有很成熟悉的产品,CH341就是其中之一。
% U3 e- ?: g) o/ i, a  L+ o( L而且ST的demo也有相关的例子(USB virtual com port ),我们直接用ST的VCP不就完了,为什么还要去模拟CH341呢?$ u+ E  x6 `$ o4 @' M
答案有两个:- p. b! o) i  R7 s$ q
1、ST的USB virtual com port驱动没有经过微软签名,安装不方便。(特别是WIN8)
6 c! V( \1 K% S# y; f, g6 Q2、作者无聊练手。' `/ \: m+ e3 q5 M8 g  }6 x
话不多说,先上原理图:
1 ~' E  S4 \* S diagram.jpg
3 c+ M2 R  B4 d. F( E6 Z4 B( \% x" w1 C; k5 m8 j4 F* f' G* ]" u) w
再上开源地址:http://github.com/blackmiaool/STM32_USB_CH341.git, {9 R# n& _- p+ b+ g
) R( J4 F8 R/ ^5 ]
喜欢的朋友自己下吧。
  l" U$ ]7 U1 S" q* U/ B
, u# z( c( D% x/ u
收藏 8 评论46 发布时间:2015-1-6 17:02

举报

46个回答
党国特派员 回答时间:2015-2-17 09:18:28
数码小叶 发表于 2015-2-16 17:11
/ `  B+ s$ p$ u标题很吸引人,可是没看懂内容

/ c4 i5 A0 Q" m使用这个固件,可以使用CH341的驱动,不知这么说你明白否?    blank.png
  W2 S% }: b  P7 B+ W
$ p% u" M( x# l( ~- P. F  Z blank.png
' P; w9 ?2 A& u- E
, G& M0 Y+ K: L8 j0 } blank.png
! M& k& m9 y/ y9 }$ a" N: ?: |1 {$ N5 o2 e& |* r
blank.png
( B/ ^/ `/ W% u
6 p$ c. e5 Z; R. x4 w1 j2 |  b blank.png 8 A  y9 q4 m& x1 x! ^: y

. L$ C) V7 |* y) G blank.png
% n6 z! j( w- ?' \; @  {
8 r+ I. l2 x0 C+ r% R) D& v% C blank.png + ?& Q! C. E. m* |: C7 g
% x' n/ b# Y9 n; ~1 N
blank.png   J) ?7 A7 g- Y  Q& G4 M

6 S  v+ @- H; O3 b! ~ blank.png
( p. d& b9 g: V) f4 R$ F6 k6 G
4 P4 k' M% X0 ?/ b6 g blank.png ! u2 u2 M) z. ~* O" Y" D8 B: v" C

( ?' O2 N) a4 q; T9 e: j
党国特派员 回答时间:2015-3-1 16:27:50
wjandsq 发表于 2015-3-1 11:49- j* `, f* G! |# Q3 B8 L: e
无图无真相,编译通不过。
; H8 o1 ^6 ^. x+ Q
请把错误信息发上来。   nothing.png 7 p+ z+ V1 w2 w2 r7 I  R1 q
5 n3 w' {% L0 m4 `3 |
nothing.png
; ]3 s( N1 ?6 O  u* l  a' T0 y
; ?7 [6 h, P6 C6 s* a nothing.png
* w1 u. f: z' H) Q3 I; N. s3 a: E( Y4 Y- W3 |0 q- O7 w% T+ x
nothing.png , P  d; h5 |+ D$ @! D. P: V

: |  w1 I$ `  N+ c2 n0 g; g; Z nothing.png 0 H. J* X; r7 |6 `
  k7 E; o3 P/ g6 J' [: ^
nothing.png
5 {  Q8 m; W& q/ }$ c
$ H/ i& |" e7 O" Y8 ^ nothing.png
! ?' |( M, K# h! _) i& V, _( j2 e+ R6 a) U  b. y+ n
nothing.png
9 ^) y! S4 l! m  [
+ w9 r; y2 s8 L4 Q0 f2 ] nothing.png
* z* ]; c, N2 J9 u
; i5 X# K. `2 G- V6 i! ^ nothing.png . t% J% C9 U  C) T! ?1 M
- G( o8 N- @( q

" \0 i" {" O4 r+ ~- |; r1 g
wjandsq 回答时间:2015-3-18 23:32:50
我已经编译成功了,现在我用GCC,3.5的库版本,用MDK,最新的HAL库,现在又冒出一个2.03版本的库,
( a" N8 K: P/ e) W用3.61版本的库,收集ST社区的代码实现了USB转3路CDC串口。只有HAL库版本,实现了DTR、Break4 v9 Y8 q8 q/ B! q7 f* r8 E
信号控制,其它版本可能是官方例程没有定义相应的函数,上位机发出break信号时,总是发现错误。
, p$ q& S; a# f% r6 \! x4 y$ g# b* k% x- h  J; Y3 f
现在不知道CH341的驱动是否支持多串口,另外,固件库的版本太多,代码移植就非常困难,HAL驱动* f9 I/ y" l7 q
移植到GCC,现在都比较麻烦,因为CMIS层麻烦。
+ _  q1 Y- q' ]+ w; n% c8 z) k9 ~& C7 {0 P. @  b
% {4 [; s% _9 Z& {& t9 X
aderson 回答时间:2015-1-6 17:41:04
什么情况???
blank83 回答时间:2015-2-16 10:14:26
顶一下,顺便问lz,大概速率能到多少?谢!
党国特派员 回答时间:2015-2-16 10:20:04
blank83 发表于 2015-2-16 10:14
8 g! t1 C; e  U, k顶一下,顺便问lz,大概速率能到多少?谢!

2 M0 r8 h, Q7 u5 s8 R自己测试下便知,串口的速度,本身就那样,只是方便而已。
foxglove 回答时间:2015-2-16 10:36:51
谢谢分享,留名
wyxy163@126.com 回答时间:2015-2-16 17:11:27
提示: 作者被禁止或删除 内容自动屏蔽
wamcncn 回答时间:2015-2-17 10:04:11
看不懂图中 PD0--D-
党国特派员 回答时间:2015-2-17 10:17:43
wambob 发表于 2015-2-17 10:044 p- T. n& y" c5 G0 O0 C
看不懂图中 PD0--D-

+ D# B* R$ S- `5 r- d6 G8 m是USB协议要求的,1.5K上拉在D+时表示是全速设备,在D-表示不是全速设备。
wjandsq 回答时间:2015-3-1 11:49:30
无图无真相,编译通不过。
lkl0305 回答时间:2015-3-1 18:05:36
多谢分享
wjandsq 回答时间:2015-3-2 09:52:53
MDK-ARM 4.74编译,找不到stm32f10x_lib.h文件
党国特派员 回答时间:2015-3-2 12:34:36
wjandsq 发表于 2015-3-2 09:522 F& |- x" H! }5 R! |# |5 s3 x
MDK-ARM 4.74编译,找不到stm32f10x_lib.h文件

2 L4 F* k6 {- A: _5 C这个错误,不解释。
wjandsq 回答时间:2015-3-2 13:59:37
谁还用这么旧的库,显然不好找源代码。
1234下一页
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版