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

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

[复制链接]
党国特派员 发布时间:2015-1-6 17:02
USB转串口,大家经常用到,市面上也有很成熟悉的产品,CH341就是其中之一。
2 i, h7 R/ N' X  I$ y% c而且ST的demo也有相关的例子(USB virtual com port ),我们直接用ST的VCP不就完了,为什么还要去模拟CH341呢?; ~7 I" p- I" x' l9 r( @7 P  l* W
答案有两个:. Y, F) d1 N. I, H! G
1、ST的USB virtual com port驱动没有经过微软签名,安装不方便。(特别是WIN8)  ?. F0 f% ^( P/ A# u  d/ G
2、作者无聊练手。( {# x8 R' ?# T" M7 g2 C% `
话不多说,先上原理图:' Q! `/ _& Z% P4 _0 Q6 n% x
diagram.jpg
3 {3 f" ?6 j% I+ G- u4 I  G5 s7 x- D% f; m
再上开源地址:http://github.com/blackmiaool/STM32_USB_CH341.git
  }% F$ g3 w- N6 Z* r6 G, Z) I  U! _2 j5 V4 T* q
喜欢的朋友自己下吧。
8 }+ V+ Q; ]! r8 i' H8 p& |
4 t8 G& I1 a  `- Q- r
收藏 8 评论46 发布时间:2015-1-6 17:02

举报

46个回答
党国特派员 回答时间:2015-2-17 09:18:28
数码小叶 发表于 2015-2-16 17:11
2 p8 E9 B" w2 q8 m8 `标题很吸引人,可是没看懂内容
/ B0 a! P6 @: h$ r! W3 ^8 E
使用这个固件,可以使用CH341的驱动,不知这么说你明白否?    blank.png
8 p1 Y0 R% j; y* t0 S# G4 v$ P0 q6 z8 R) p
blank.png
$ H5 N3 \- ^9 e* Q, [, Z
7 `  ^% ^+ V4 i1 V5 ^1 f* l blank.png * I% y' R3 Z& u7 h% J' V1 z# k9 O
$ E5 q, A7 m9 T/ j
blank.png 8 S5 |! ~2 w  c$ w1 b- ~

. x: v; C( }5 I# U, A blank.png
( F6 O$ f( ~6 V4 O( \  m/ _2 p! R5 j8 }# P
blank.png & C2 U0 x/ T8 J* h( h- X6 a

, ^1 X2 [- i) e9 @! f blank.png + f  E0 E" {/ n6 I1 S! A. C! h

( P5 L1 R7 i5 `/ ] blank.png
( m9 i" Z7 J& u
- B! j7 F% y& w4 P3 s# A& l: C blank.png
3 x4 n" S- t2 v! n4 i$ I
. `2 n" l( l0 @" I% R+ Y blank.png 8 i- X0 t8 Y: }8 H

) l8 v9 ^# M& f8 u& m9 ?8 g
党国特派员 回答时间:2015-3-1 16:27:50
wjandsq 发表于 2015-3-1 11:49; a9 d* J# Y1 h
无图无真相,编译通不过。
* H4 P, X3 I6 }9 W0 A
请把错误信息发上来。   nothing.png
3 `$ l! N7 w- q3 ~
2 j7 t, T4 \: E nothing.png
- i3 x2 S+ r# ^# Y
) X/ @+ i- e" A4 @# t) N; Z nothing.png 0 |/ W: Z+ B5 z: y3 U- [. X
6 R9 E  {2 C# R, ~) d6 x
nothing.png 2 z7 c' t& G8 o, \% `

2 a) \% Y. s" T; h6 U1 M2 g3 g nothing.png
6 C2 x( Q9 _  o) d: ?7 O8 P# L1 Y) R
nothing.png & \4 j7 e4 ^# I# Q
: ^( q* P. U7 \+ @' }
nothing.png ! n3 b9 A0 h2 Y8 U4 {" K

' p  ^7 M, u+ I2 N nothing.png
; A2 ^" ?* ?3 t/ C8 K& Z0 s- x: x. M8 F6 Z1 I& b
nothing.png $ G: t4 ]0 V; T" l/ N& _- u! H: Y7 {4 @" a
9 V% x% }" i/ m1 c; |$ O, z8 T
nothing.png
1 l1 N" `, t; ^# x
: I5 a9 Q9 }& f# b4 @5 j$ q2 q9 w$ }
- _8 x' u" D' L
wjandsq 回答时间:2015-3-18 23:32:50
我已经编译成功了,现在我用GCC,3.5的库版本,用MDK,最新的HAL库,现在又冒出一个2.03版本的库,
! P5 o: ], i' `用3.61版本的库,收集ST社区的代码实现了USB转3路CDC串口。只有HAL库版本,实现了DTR、Break
' P9 P/ N- ]+ r* o8 O信号控制,其它版本可能是官方例程没有定义相应的函数,上位机发出break信号时,总是发现错误。
7 `+ s* a0 T+ [6 Z
# I0 B2 C/ g  B5 S4 M  C# [. V0 m6 j现在不知道CH341的驱动是否支持多串口,另外,固件库的版本太多,代码移植就非常困难,HAL驱动# t( C( w' S; P- ^6 J( s
移植到GCC,现在都比较麻烦,因为CMIS层麻烦。
5 r8 J; k5 o+ ^4 X- U6 v3 ?3 o; X  D. n
* I7 ~1 ?! e( T% d; k* R  \6 Z: t
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:145 i+ q5 P* a/ T4 i7 {
顶一下,顺便问lz,大概速率能到多少?谢!

- A4 c, C: Q0 L! D; 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:04& j! L7 K& H2 t( _% J
看不懂图中 PD0--D-

7 Y. l' s6 E4 Z/ L/ }. V6 F是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:52
# O; N8 N, `/ R1 y% E% E" @MDK-ARM 4.74编译,找不到stm32f10x_lib.h文件

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