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

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

[复制链接]
党国特派员 发布时间:2015-1-6 17:02
USB转串口,大家经常用到,市面上也有很成熟悉的产品,CH341就是其中之一。7 q% c  b8 U  S5 x
而且ST的demo也有相关的例子(USB virtual com port ),我们直接用ST的VCP不就完了,为什么还要去模拟CH341呢?% C& c  U& i' @7 D9 _
答案有两个:3 n/ k+ u: n& R" \" V3 o% V1 {% x' ~& N% ^
1、ST的USB virtual com port驱动没有经过微软签名,安装不方便。(特别是WIN8)& Z2 T8 i! M) d2 z7 _
2、作者无聊练手。# }! \/ a( H+ z$ Y
话不多说,先上原理图:
, `" d: D2 C! o1 y) i8 K" ~ diagram.jpg # J# h! x7 ~+ G7 R" Z3 O' \
  Q9 Y# D; U0 S0 g- L
再上开源地址:http://github.com/blackmiaool/STM32_USB_CH341.git5 ^+ i' P8 V- `0 E) [  O) _# n

9 g( ?% e# `$ W% ]0 |) I9 M喜欢的朋友自己下吧。6 ~0 B1 s4 F: S# P$ w- t5 _

+ r* x, ~6 j, x2 B
收藏 8 评论46 发布时间:2015-1-6 17:02

举报

46个回答
党国特派员 回答时间:2015-2-17 09:18:28
数码小叶 发表于 2015-2-16 17:11
5 _+ b' ]6 h3 Q/ O8 C- j8 A标题很吸引人,可是没看懂内容

1 {" r4 U. ?  y) q' h9 ]使用这个固件,可以使用CH341的驱动,不知这么说你明白否?    blank.png
  K: ^. \7 s" d: q" w/ g' k
- L& C# v8 ^; T5 L5 v5 v" {( v: ? blank.png # m& ^0 r5 S5 h7 C2 T

  @6 W) c% D! U* I/ r blank.png 5 X3 K& m4 h* S
6 K" [# Q& E/ v! ^/ I( S" e; [9 C4 u
blank.png ; ^; J) V2 j2 T% K1 T$ [2 N
# [9 @) V8 n$ P, t
blank.png
, I2 L7 d! M  S: }5 |, ]
( n) ~$ i: Y- t' b+ d blank.png
8 V. s( a. @' V9 V! p7 _! x& F  \$ Y
blank.png
& h: L4 }7 D# l6 |7 G: p7 n$ l6 h( V6 F2 l) Y+ k
blank.png : o# S* w9 U' @0 _  n
4 w+ k( l/ Y6 g+ F& Y8 Z
blank.png
. w4 T; r$ j; ~6 L
- M# ?: c" T/ R* _" ^# `: ? blank.png 8 k( u0 G5 Z3 a  p! n
3 V* w5 [4 W2 k& N  z& x6 C- P3 `
党国特派员 回答时间:2015-3-1 16:27:50
wjandsq 发表于 2015-3-1 11:49
2 F2 k8 N' w, T: u4 D& K无图无真相,编译通不过。

8 {2 [3 c8 Q; g% c请把错误信息发上来。   nothing.png
/ X: C- U: Y5 S' o" Y4 R
: s/ v3 _( x- _6 F% o5 l nothing.png
" O5 K) Q# T- h$ T! g, P/ c9 u$ j6 B! F( L" V9 m; S$ n
nothing.png / n7 `- C/ c1 G

) V! n7 m/ }" o: m6 L3 q4 ? nothing.png 6 J- l, |' ]* `0 Q1 ]  p
8 ^  ~" f0 W  v$ l0 w
nothing.png 3 H! `/ H: F- \( F) ]$ F
1 f3 O8 s; i! u# K" U1 P
nothing.png
* Y2 g% g! P+ N" Q1 L, x; {1 l% p- y; c( ?, Q- e
nothing.png ) A; x. q: }$ k3 f$ S3 [
8 Y: R( D  c3 R" c
nothing.png
2 {3 ~# t( P3 e) A, R4 j8 o
) G+ p, b' F0 q' t7 O( k: z7 P# [* f nothing.png
2 X3 B2 q9 m& y3 _3 x
3 `* T8 x: ^5 O1 x9 ^ nothing.png 8 g# U' x; @* F) ^
6 L  q1 i8 b9 L% T9 n
- x! v: w; j: z& E; V
wjandsq 回答时间:2015-3-18 23:32:50
我已经编译成功了,现在我用GCC,3.5的库版本,用MDK,最新的HAL库,现在又冒出一个2.03版本的库,; K2 c8 h( H8 l% y- |
用3.61版本的库,收集ST社区的代码实现了USB转3路CDC串口。只有HAL库版本,实现了DTR、Break
8 E2 V* a. w" z# \4 n4 X9 }  ^信号控制,其它版本可能是官方例程没有定义相应的函数,上位机发出break信号时,总是发现错误。$ Y* W( T. E% L. l* v# [: `

: E6 G7 x% C# i! O% ]% M现在不知道CH341的驱动是否支持多串口,另外,固件库的版本太多,代码移植就非常困难,HAL驱动) }" G, T! C3 `/ R; e# z
移植到GCC,现在都比较麻烦,因为CMIS层麻烦。/ }4 a5 d/ x1 \/ D

7 B! `  ^1 l5 o' `5 R% }9 `$ S' G- D1 B. I3 C" V8 A, K4 }5 _: v
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
9 O" s4 ~1 L. s( p3 R1 T6 W' y+ o) X顶一下,顺便问lz,大概速率能到多少?谢!

( Q4 ~  O/ P, c4 N& M自己测试下便知,串口的速度,本身就那样,只是方便而已。
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
( b/ w5 z9 {7 n看不懂图中 PD0--D-
2 n: H  d7 K) e, [5 r9 P: E6 @9 T
是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
$ F# u& r9 K! W0 R) z5 YMDK-ARM 4.74编译,找不到stm32f10x_lib.h文件

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