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

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

[复制链接]
anywill 发布时间:2017-3-22 23:28
【黄金搭档mbed+labview】初体验* g2 c$ [9 }: ?1 f8 Z2 K% A: b
1 R! ]7 g# e" q' A$ Q7 m7 S5 s
Nucleo+Mbed +labview   小试牛刀之-模拟量读取 并解决驱动问题
* T9 i( I0 h& H/ @

# s9 `' _5 @: |) C- u本实验前提是安装了nucleo的三合一驱动:mass storage/ usb vcp/usb debug  k- x& n3 G2 N8 m. s+ Y
首先安装labview,本人是NI LabVIEW 2016 (64-bit)
) j1 N: I, Y$ x4 x$ b再安装针对labview的设备驱动,我选的是NI VISA16.00full 4 L: \) {/ A9 v1 c# k( @
有了它labview才能识别各种数据采集设备的端口' ?' L( i/ d8 T" r0 M, a& }
安装之后 原nucleo三合一驱动会被ni VISA驱动代替,显示三个stlink设备' L+ S9 m% @0 ?6 @
导致原有的stlink不能使用,MDK,AIR等软件都不能识别,也不能下载程序. f- j, J) x7 _4 `
解决办法就是将VISA驱动删掉,再重装一遍,我装的是STSW_LINK009_V1.01
; q% e. ~% F+ d% ]* h通过usb 的虚拟串口向labview传输数据
- p! t& q. U7 O) N: r+ y//另外CP2102 usb转TTL也可以顺利被labview识别,
# ^( o: f! \9 |% i' O  Q! n7 ~ lab2.jpg
$ T2 P9 D+ J. R: W7 v& D然后就可以正常使用mbed+labview编程了,4 z1 `9 R/ s& ]5 p) @3 T

% E( N' n- s- z6 D! B. ^7 Y+ S8 L代码如下:
: i. Z, [. i* S0 ]8 Y- H% D! m3 u( D/ f( I
#include "mbed.h"
2 ~6 f9 H( u9 X4 T  i6 f
, n& Q# u. A* O, WDigitalOut myled(LED1);" ~3 p! s5 ^- C$ `8 m
AnalogIn ain(A3);! u: ?) V( o6 {: d1 a
* E7 i3 B% G3 ?& E. \
int main() {1 l* z8 v4 P) _, M; W2 r: G
     float ADCdata;
' ]) {0 I. C& |6 ]) h    while (1) {- a/ K$ C+ S+ X
        for (int i=0;i<=9;i++)
( W5 o# Y2 u1 L" i1 y        {
/ H) J: H: N8 H+ }) N7 T         ADCdata=ADCdata+ain.read();
# R- u& A+ P' S        }8 h3 N8 A: b' i  H! V
        ADCdata=ADCdata/10;; F% j  d8 H8 q. A/ I
        printf("%f\n", ADCdata);
, R' i) h/ ^' v4 ]2 ?0 D, e. u: _        myled = !myled;
- E! O" I6 s# u0 N  q        wait(0.01);% U1 d0 C1 c) z& ~/ b; K8 Z
    }
# }' V) K. Z/ z* y  z}) X# ~7 Y9 k1 m6 i
这个例子源于mbed上的Cookbook,4 x! Y2 i" O! ^( a1 R
通过一个电位器输入0v~3.3v电压到nucleo的 A3口,& D3 K0 t5 ]' c. }9 ]
经过nucleo采集输出0~1的数字量到labview以波形图连续显示和数字表盘瞬时值显示5 s* t! ^! o2 i  m
stm32程序本人加了for循环求平均值,防止采集的数据跳变& y" J* F$ H" A3 G4 U
labview程序前面板可以选择串口,然后运行开始采集电压值& U. E" i4 ?, u  Y& L& J6 F
lab3.jpg # P: @0 k% R+ i0 N& l4 }
labview程序数据流表示:在while循环内通过mbed read函数读取串口,/ L& v: d+ |8 L5 c* o/ _5 T2 x: p: @" H
然后输出到波形图和数字仪表控件
9 [, Y( T+ \- F  _8 d8 b% H) B通过stop布尔值控制退出while循环
2 s! B! H$ F2 f6 E" L lab5.jpg ' W9 e7 D1 c, y' K; S- o
lab4.jpg
9 C. p6 L7 l# {- g( P- w提示:本人AMD的cpu,labview连接mbed采集几分钟之后,电脑会出现蓝屏显示 usb错误,希望坛友积极反馈遇到的其他问题。3 Y7 |- {. V' k3 i2 n3 n' W3 @* X

- S5 P, W6 T: g6 T+ h  q
3 X' O/ m& c7 o2 p
1 收藏 4 评论3 发布时间:2017-3-22 23:28

举报

3个回答
anywill 回答时间:2017-3-22 23:31:19
本帖最后由 anywill 于 2017-3-23 20:04 编辑
5 t2 S* v& }2 g* f/ _; w5 O/ I' h+ b! v
沙发自己占, P70312-171238.jpg ! H$ ?1 y# M- c# w
P70312-180259.jpg : r; C3 F; P7 z, O( `2 X
labview的VI库插件
; Z8 U( w+ W9 d* ^" H" d参照本人上一贴! \: B% T2 f7 \. C

9 `0 ~+ h" i$ L. j4 }) Y本实验VI$ S9 Z# y! Y. t6 m, _3 @, K
+ x9 f- K' V& G2 b- T* i2 l

$ w! S/ \! ?. O, L4 r' a6 t8 Q7 `: X8 Y" M, _9 @; K) p+ j
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 手机版