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

【黄金搭档mbed+labview】小试牛刀之-模拟量读取 并解决驱动...

[复制链接]
anywill 发布时间:2017-3-22 23:28
【黄金搭档mbed+labview】初体验* q$ y/ c  A; H, S( @

/ W; T$ V  o; e! s' y2 `* [Nucleo+Mbed +labview   小试牛刀之-模拟量读取 并解决驱动问题

* m" {: h4 ~# R4 Q% ^6 v6 ]4 o3 U' s8 F- {" L3 O2 u3 Z* b
本实验前提是安装了nucleo的三合一驱动:mass storage/ usb vcp/usb debug
0 v# b2 }& `& f0 n1 H首先安装labview,本人是NI LabVIEW 2016 (64-bit)
% v- T0 W  e; R# q, m: Q再安装针对labview的设备驱动,我选的是NI VISA16.00full
4 ?' P, j- E2 V6 h+ [5 d有了它labview才能识别各种数据采集设备的端口' y% Q. k* R2 L4 N3 ]% n
安装之后 原nucleo三合一驱动会被ni VISA驱动代替,显示三个stlink设备8 e4 R3 Z3 U2 }' I: `
导致原有的stlink不能使用,MDK,AIR等软件都不能识别,也不能下载程序7 _2 k4 r5 N" d" c  _
解决办法就是将VISA驱动删掉,再重装一遍,我装的是STSW_LINK009_V1.01
: o  L" g( A6 q  e" i通过usb 的虚拟串口向labview传输数据; g- I" _" t, C% ^% Q, o* J9 x
//另外CP2102 usb转TTL也可以顺利被labview识别,
+ [- E4 d! q0 T* q* s7 s lab2.jpg
8 S- l+ ^2 w0 T/ v$ m; p然后就可以正常使用mbed+labview编程了,
2 l; P7 S5 _. G! M+ i6 k  R
6 k$ j9 y% }7 H. P6 ?) q- k代码如下:
6 p3 B, R+ j  p
5 C6 h9 E. L7 P- O& h! f2 w#include "mbed.h"
$ G, c$ [5 E5 J0 `+ c: s" u) }
" z' l% M* Y8 P8 rDigitalOut myled(LED1);
; V2 Z5 s& O6 gAnalogIn ain(A3);
: p. p" h  G) \# R; ^
* L9 z! U4 `5 r6 L* {# L& Lint main() {
5 E  \; M: N. d9 B     float ADCdata;4 X! `1 y6 ~/ s. z' {
    while (1) {5 |) T1 t6 q, a, u
        for (int i=0;i<=9;i++)
' B  y+ @: Y/ K        {  ?# d7 v4 g- d  M( ~
         ADCdata=ADCdata+ain.read();
3 J4 D1 T- S; O' s) ?# p, p( t. P; g        }
3 Q0 M' Z( `( D/ S        ADCdata=ADCdata/10;
4 l0 e0 ?/ z# f) j5 k+ L        printf("%f\n", ADCdata);0 l7 j+ f" U4 k' v5 T% R( u* \
        myled = !myled;$ T. A1 V8 s/ G# N# Q* `
        wait(0.01);, z" Z% w3 ~" Z9 h6 v/ j
    }; D% K0 H( \7 ^; w0 v
}) R! h, L1 n7 H) Z" C3 w$ Z, I
这个例子源于mbed上的Cookbook,% ^: }' ]# C5 W( t
通过一个电位器输入0v~3.3v电压到nucleo的 A3口,# e! C1 ?& Z4 u6 h2 g, k& o
经过nucleo采集输出0~1的数字量到labview以波形图连续显示和数字表盘瞬时值显示1 n) C) E$ }+ x+ o8 Z4 |
stm32程序本人加了for循环求平均值,防止采集的数据跳变
! m% u) Q1 m0 r5 S! [5 ilabview程序前面板可以选择串口,然后运行开始采集电压值
$ z2 l& z' H8 M+ D' J8 r. O/ } lab3.jpg 5 C9 S7 u* V; W9 I" g
labview程序数据流表示:在while循环内通过mbed read函数读取串口,
" G3 U8 e6 z, R1 U然后输出到波形图和数字仪表控件
6 b1 z2 C, l' x$ i3 k8 Y7 v4 ^通过stop布尔值控制退出while循环
) I, `! u1 I$ o" \  V  U9 \) k lab5.jpg
7 X& }1 x. ^; p. T lab4.jpg
# m2 u5 \" c$ [% f+ m) C  r提示:本人AMD的cpu,labview连接mbed采集几分钟之后,电脑会出现蓝屏显示 usb错误,希望坛友积极反馈遇到的其他问题。& l. @' g. B! w. n
  @# @! J# @) V" ~0 Q

# }4 z1 M2 f& N2 F+ X
1 收藏 4 评论3 发布时间:2017-3-22 23:28

举报

3个回答
anywill 回答时间:2017-3-22 23:31:19
本帖最后由 anywill 于 2017-3-23 20:04 编辑 + w0 `  g, M( A( @) W( s
# V4 f0 Q( T, T
沙发自己占, P70312-171238.jpg ) f7 a8 @+ E! m8 q
P70312-180259.jpg
; t9 W# r2 s9 l  A7 t* Clabview的VI库插件
' `) T( L1 Y: k- O/ }% Y# |* S9 B0 l参照本人上一贴8 f/ E7 J8 _" B8 B" S$ k
0 H# ?2 o' p$ c
本实验VI+ \( ?% j* \' l: E/ q+ L8 t' c
. {; K4 d, ]: ]; ~
% a) y4 @& N2 p
  ]2 _! d) |$ q& v: q9 [+ }
lobukong 回答时间:2017-3-23 09:03:18
赞,原来有这样多种驱动。。
谁拿了我的帽子 回答时间:2017-3-23 09:55:50
matlab好强大,本人用的少,感觉可以深度研究一下

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版