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

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

[复制链接]
党国特派员 发布时间:2015-1-6 17:02
USB转串口,大家经常用到,市面上也有很成熟悉的产品,CH341就是其中之一。
3 S3 Q  s. p# d& G, e  k/ [8 `而且ST的demo也有相关的例子(USB virtual com port ),我们直接用ST的VCP不就完了,为什么还要去模拟CH341呢?4 T' N& S/ Y6 ^1 o( B. P
答案有两个:, }6 g: v1 H% j- W/ V
1、ST的USB virtual com port驱动没有经过微软签名,安装不方便。(特别是WIN8)
2 T3 ^6 d$ J  a! M6 E2、作者无聊练手。' P' h% r' m  V2 o2 j
话不多说,先上原理图:
$ X" o5 N9 x8 G: l5 M* b9 e diagram.jpg   U' f0 G2 W* ~3 Y9 w$ }
! ?, X3 }8 w* Z2 N8 W
再上开源地址:http://github.com/blackmiaool/STM32_USB_CH341.git  r" Q9 F: [! h6 q' T

  L& x8 Y! n+ m) c喜欢的朋友自己下吧。
$ t3 X9 Y1 d" a( r! F7 j. h4 r1 i: n4 o8 D& j. P1 g
收藏 8 评论46 发布时间:2015-1-6 17:02

举报

46个回答
党国特派员 回答时间:2015-2-17 09:18:28
数码小叶 发表于 2015-2-16 17:11# ~% a9 L- S; V2 p
标题很吸引人,可是没看懂内容
/ Z  C0 h' K3 D% a# N/ \: {: l+ H
使用这个固件,可以使用CH341的驱动,不知这么说你明白否?    blank.png 4 O7 |% d3 |. _- s
" E  X9 W, U- C0 e
blank.png % [% O" \) c) @, E+ {& J

% a+ Q/ C8 k6 Q9 V6 l% N( a  C+ ` blank.png
2 a! ]* m' X3 D0 n
/ Y9 g/ v4 B- ~1 f- F, m" _ blank.png 8 [+ A$ V+ w! P+ F3 f9 e. q# x

9 A$ ]# T" _, ?% n blank.png 6 _) Q! }7 T& [, C% j7 G9 [

2 D4 E$ J3 v; P6 D" t blank.png 5 W9 [' K6 ~3 ~+ o" l# T+ K

2 }6 d( G& ^% t5 o9 p" s blank.png 4 F  ~* V  ~) Y4 t! k8 |6 w$ C/ _

; K2 o+ n0 ^, I9 [. B) o/ C) Q* y blank.png # m. @9 \# J6 [6 c
, J5 c$ M( x+ d! i2 z( I% J
blank.png   p! [! W0 q5 c# H. ?4 q
+ L& r6 S% s, X6 X* q! g0 w* H6 N
blank.png
5 A+ d0 m' g5 d" m; J
, V, d& Z& H. ~& e
党国特派员 回答时间:2015-3-1 16:27:50
wjandsq 发表于 2015-3-1 11:49
0 j6 T$ ?! ]( Z* B" N: u无图无真相,编译通不过。
1 ^( J$ b5 u: y1 g
请把错误信息发上来。   nothing.png
, J, U6 g9 b8 h
, z6 Q: T" T, s& y/ z- W- S0 I; U nothing.png
  h; D  h# i; |+ ~+ K
8 e5 t. C! C4 ?; t  L nothing.png % t) f6 L+ Y  F( Q9 O7 m1 \
! ]" `' v4 f8 i) l
nothing.png
9 J* @4 X7 v- z& K" Z
, B0 \9 F! }1 h$ ?6 t: t nothing.png 2 M0 B9 V3 c$ E! a; }6 g
! ^9 {% g% l$ i" G3 X
nothing.png $ Q% k1 d% X% B6 M
, ]) m$ J9 Z7 P& q
nothing.png
: @) @- O$ |8 c2 ?0 E: m9 c. H4 l9 r5 J. ^# y+ A
nothing.png
7 i* \, ~1 w# q  K2 \  D6 T" ^* O: i; k5 \
nothing.png $ B6 j  m* y8 K5 O# h

  c+ }- p0 D) J( M nothing.png
  R+ l( d9 w/ h4 h9 i* i6 p" f1 D" F+ E/ O: U
6 J% m. M4 A7 N7 i
wjandsq 回答时间:2015-3-18 23:32:50
我已经编译成功了,现在我用GCC,3.5的库版本,用MDK,最新的HAL库,现在又冒出一个2.03版本的库,
5 d5 U$ W9 V4 m# b用3.61版本的库,收集ST社区的代码实现了USB转3路CDC串口。只有HAL库版本,实现了DTR、Break& [1 [! g# B/ ]4 R
信号控制,其它版本可能是官方例程没有定义相应的函数,上位机发出break信号时,总是发现错误。# h' U* @  X$ z/ K) E/ t" S8 b( p7 [

1 x( I2 t+ P9 Y: r现在不知道CH341的驱动是否支持多串口,另外,固件库的版本太多,代码移植就非常困难,HAL驱动
2 d' E; u3 a, a. p; t移植到GCC,现在都比较麻烦,因为CMIS层麻烦。
$ Q3 R: E: w0 M/ }% O: z- u: p! F3 |/ M1 i3 n  E! b* P3 T' ~$ F
! ?: i# e+ m8 M% t/ W9 c4 P% |
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 y; b# X, w, D+ `* w顶一下,顺便问lz,大概速率能到多少?谢!

  z. V9 O- s) J5 o- A6 R+ n% `自己测试下便知,串口的速度,本身就那样,只是方便而已。
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$ T# l6 d3 c, ^2 ?8 c
看不懂图中 PD0--D-

% `8 P$ ^' l/ e) s是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
% ~! x8 A$ i8 B. @MDK-ARM 4.74编译,找不到stm32f10x_lib.h文件

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