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

STM32 USB虚拟串口与Andriod手机连接实验,ok啦  

[复制链接]
manwjh 发布时间:2016-1-20 09:20
这个案子是我基于自己设计的QST系统完成的案子,总是想着怎么和Andriod手机相连。尝试用usb虚拟串口连接,终于通了。: S  U  C* L; ?% E7 b
硬件:手头一个现成的带各种传感器的板子(bmp280,bma250,hmc5883,gps)+STM32F103
, d* C. S6 Y( d' v, I' p8 ?2 K6 [软件:基于自己设计的qst软件系统+USB虚拟串口驱动。' k9 k. _4 ?" e( p( B

9 ^' M* l* _: n! y* B$ }*居然可以热插拔usb,连上手机的otg线。这里要感谢usbhost的开发者,网上几乎找不到andriod手机连接虚拟串口的程序。6 z$ c) H5 P6 f7 y
*虚拟串口连接winxp,win10也是可以的。' \. k9 F) L6 `+ W3 l/ s" D; n
*软件还没法开放出来,代码需要整理一下。
' Q' F5 B( V+ P" |
/ g% r2 L  p/ W, D2 k1 e3 `1 E- t* O5 |% ~
项目完成后,大致的效果是,串口不断输出板子上各种传感器的参数,每个传感器的采集数据都带10秒以内的精确到毫秒的时间戳,输出:
  O2 g( E1 y& e9 x# L" `% ^0 k气压             (采集速度 5次/秒)3 F" g/ {5 U, p, H, u) B
温度             (采集速度 5次/秒)
, c! y9 W# \2 B2 S8 M. I海拔             (采集速度 5次/秒)
# Q7 z# |: R8 l3 ?! s1 c3 S+ {3 W陀螺仪x,y,z   (采集速度 ?次/秒): [0 e: w- U* u0 R. M6 S% A
姿态(倾斜度,俯仰角)(采集速度 5次/秒)
/ a3 J8 Q' U/ N% X7 a指南角          (采集速度 10次/秒)& W  P/ U" T0 W+ t  M6 `. _: P
gps经纬度     (采集速度 1次/秒)
$ j; R* |& d. ]0 f4 egps工作状态  (采集速度 1次/秒)8 X+ K) f2 ?6 L7 [' [' d
/ T2 E9 t. `: W, d7 v, R$ b
; V5 j" w. F9 N! F/ Q/ G) M+ Z
我在想如果usb虚拟串口要跑到什么速度才能满足这种密集的数据输出。
4 f  `! }2 I4 b8 }
  @" l; s6 ]& Z2 ?; t! j最后写一个pc软件
$ \, b8 _  Q; S  ]! C
6 }# o7 v/ P0 i1 J9 Q- _7 v9 h! F0 L% Z5 q9 q+ Q2 o4 l! [
5 ?" m; A# u* i7 @. B: _
1.pic.jpg.thumb.jpg
: G% j! a2 d' \7 q& M* L! t& r3 f6 c$ H9 j/ p" f
2 C! U5 }* Z$ e7 p7 V

# h% i: ^7 y+ v" I0 \3 `1 `) C6 X5 V8 v0 g# n5 V0 A
Andriod手机抓到的usb数据。
4 L) J. ?8 a$ P: u7 z) T5 \5 r 1.pic.jpg
- A! @7 K  F0 ~: w5 O7 o) f5 G/ b4 E! _
1 y+ }' L% u# {* s# ~4 I
演示视频4 L; W! G# }0 G) l! H% L
# Z) L" z) ?  ~: R) b% o! |% H
, [3 `3 E+ ^! q

2 [2 h; v, X# p- j# L! D3 I1 X# h+ ~$ }6 K9 k

: d# A, }$ b- i3 q
赞 收藏 13 评论27 发布时间:2016-1-20 09:20

举报

27个回答
zhangxu56726 回答时间:2016-9-7 13:40:38
可以分享下,ST的源代码吗?
manwjh 回答时间:2016-1-20 09:21:13
本帖最后由 manwjh 于 2016-1-20 09:30 编辑 # k, ]3 O. i: ?

* J' V1 U5 H7 B6 x. T2 vAndriod源代码包,在bin目录下可以找到编译好的安装apk。
$ K6 T' B  t/ e0 M6 @! Q验证是ok的,手机需要取得root权限。我用的手机是红米note2
& t- }, O6 W7 e1 b2 B( F% j Andriod usbhost.rar (1.3 MB, 下载次数: 1005)
manwjh 回答时间:2016-1-20 09:27:22
本帖最后由 manwjh 于 2016-1-20 09:31 编辑
7 _8 ]2 t1 W/ W9 s! a! ^3 W- G3 N' G' U4 D
[飞鸽的qst系统的介绍]
+ Q* y" z* f. c! M6 G7 U( T0 u; eQST是“飞鸽”基于STM32 ARM架构的一个前后台开源系统。; n1 a* h" W! k8 }- X$ o. v
QST的优势
9 a9 p" }9 X, s% G4 ^1.基于32位的cortex-m3的ARM
0 W; q4 V5 G" R2.采用嵌入式系统常用的KEIL ARM编译和调试环境,调试工具采用应用广泛的ULINK/JLINK JTAG仿真器。
1 O4 z. f, T9 b$ z3.分层系统架构(灵活、强大、简单):ST官方库 模块层 QST系统层用户应用层* b4 G$ d' g# Y, n; n5 q
4.充分利用ARM本身的中断来进行实时任务处理,设计良好的程序主循环运行频率同样可以达到非常高的调用频率。
' s# ~+ {" w5 ]9 E* G8 }8 o
  • ST官方库层:ARM芯片寄存器级的库函数层,以及类似USB的独立运行库。3 {% L, Y5 m2 {: ]

    % M" F- O$ z$ F
  • 模块层:总线库函数层,外设硬件驱动,软件驱动层(例如GUI图形层)
    3 P' t1 l0 Q( b3 M. T" V
    6 v# O) B- b) ?0 o
  • QST系统层:qst任务运行机制,qst任务的控制和信息传递,qst系统时钟。
    9 i) O. t1 J8 s6 Q  b9 s
    : T2 M$ u6 E* n6 N
  • 用户应用层:应用开发
    # J  s9 F% ]9 t4 V
    6 h3 Z0 `2 j! I# m' V3 d

; S5 Q( {- ]) Q( t( P
      So…如果你是初学者者,用户应用层的开发将可以让你基于前人的丰富模块层迅速完成一个项目。如果你是资深的嵌入式系统开发者,你可以在模块层完成各种复杂的算法和驱动的编写,依据QST系统的编写方法,有助于项目的归档和延续,我们也期望您能分享您的知识。
  X5 k! }/ L# Q: N- Q; G6 A
埃斯提爱慕 回答时间:2016-1-20 20:02:10
提示: 作者被禁止或删除 内容自动屏蔽
党国特派员 回答时间:2016-1-21 09:25:06
这个一定要看。 blank.png blank1.png blank2.png blank3.png blank4.png
disheng4688 回答时间:2016-1-21 09:37:59
谢谢分享            
那就地方 回答时间:2016-7-8 10:59:43
像大牛膜拜,收藏
wk0819 回答时间:2016-8-6 20:28:01
" g+ P4 L. I9 u1 H
谢谢分享啊  學習中
赵立明 回答时间:2016-9-7 13:17:20
你好,现在我用 f429,做的虚拟U盘,usb msc传输。在pc上边可以正常识别并且读取。在android下边不能识别,请问,大约是哪方面的问题。. g/ B' l# J6 m6 y$ p+ O
糖葫芦不要糖 回答时间:2016-9-18 11:35:55
赞!!!!!!!!!!!!!!!!!
zbber 回答时间:2016-9-18 17:11:11
像大牛膜拜,收藏
乞丐工程师 回答时间:2016-10-31 17:39:33
设备的驱动是和ST的虚拟驱动一致吗?求指教
zengyi703-16313 回答时间:2016-11-1 08:29:44
这个厉害了
黑皮男 回答时间:2016-11-1 09:27:07
多谢楼主分享
12下一页

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版