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

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

[复制链接]
anywill 发布时间:2017-3-22 23:28
【黄金搭档mbed+labview】初体验% v) q  y( t, s0 U

4 W5 |" r" r! x% `" z  xNucleo+Mbed +labview   小试牛刀之-模拟量读取 并解决驱动问题
* F$ }' A9 M, e& w8 U! k# r

  s5 e% {4 f. C7 O( o2 W. X$ [  \本实验前提是安装了nucleo的三合一驱动:mass storage/ usb vcp/usb debug
3 k( l8 {& }# |! q) Z首先安装labview,本人是NI LabVIEW 2016 (64-bit)
+ d. |% I2 h2 h) \; |+ M7 a再安装针对labview的设备驱动,我选的是NI VISA16.00full , L0 i/ u* T" O4 b% Z
有了它labview才能识别各种数据采集设备的端口
) v  h$ @& E/ z) F: n安装之后 原nucleo三合一驱动会被ni VISA驱动代替,显示三个stlink设备
* \$ `# Z  Q4 p) b" y1 a1 [导致原有的stlink不能使用,MDK,AIR等软件都不能识别,也不能下载程序
3 C$ G2 F) p$ j7 W2 U% z% b解决办法就是将VISA驱动删掉,再重装一遍,我装的是STSW_LINK009_V1.011 ^" ^' v" Q2 k2 i0 Z
通过usb 的虚拟串口向labview传输数据
5 j- z5 p% w2 Z7 C3 l//另外CP2102 usb转TTL也可以顺利被labview识别,$ V) r2 Y5 K% G8 P* b" m. O
lab2.jpg
1 C" b- t; g% K% P6 W- e) ~$ I5 ^: m然后就可以正常使用mbed+labview编程了,0 ?5 V# S, d6 z) x  l  |
! x% x$ w$ X. E5 ^
代码如下:
( [3 x8 ~8 Z, {- s2 j) n$ w; x/ [" r. B3 E+ f1 J
#include "mbed.h"
, ~, T& v0 Z" Y; `
" Y6 w- g5 ?8 n9 L2 |' PDigitalOut myled(LED1);8 T2 \+ i( q+ L" y! z1 j% K
AnalogIn ain(A3);( J+ r2 k( B% B1 b; O$ B& a2 d- s
  _: ?& X/ C, t: Z* I9 M
int main() {; G3 i9 f* h1 \$ h7 R/ Q
     float ADCdata;) i; ]1 W) n9 K3 R* ^* @1 D( t4 H
    while (1) {
$ P6 Y. ]9 u1 n- \        for (int i=0;i<=9;i++)
0 @5 H' V: z$ V2 s/ o* m: m9 Z0 X        {
- D/ Q+ u" U7 D# ^2 Q         ADCdata=ADCdata+ain.read();
" q" @, @9 w/ y7 ^7 W        }+ i# V2 P* `! I: i
        ADCdata=ADCdata/10;
! G. F+ l5 y0 h( {/ p9 L        printf("%f\n", ADCdata);
( S, B/ t: S7 ^8 E        myled = !myled;4 l% S; S. {" B  @' z' y9 u1 [
        wait(0.01);) |6 z) W+ ]- O" K7 h% N  q) {
    }5 y- ]8 U% a, |! g. e* v( }% I
}5 L& d6 x; F2 g/ G+ Q( m
这个例子源于mbed上的Cookbook,8 D& M$ Z, b5 O( K+ B  x' j
通过一个电位器输入0v~3.3v电压到nucleo的 A3口,
; M+ Y# u, a4 n( x经过nucleo采集输出0~1的数字量到labview以波形图连续显示和数字表盘瞬时值显示
" ^! |" }. {( l2 Z' p/ a+ @, B+ C' {stm32程序本人加了for循环求平均值,防止采集的数据跳变
) [5 H. c% a& W3 y; Q9 @9 nlabview程序前面板可以选择串口,然后运行开始采集电压值
0 t" r9 ?7 Q" p$ _  V* o) t lab3.jpg : N/ T$ C. @8 L
labview程序数据流表示:在while循环内通过mbed read函数读取串口,
% G* @4 o: F) b& q5 e然后输出到波形图和数字仪表控件
( O( J# [: F  h& U通过stop布尔值控制退出while循环
2 ~+ `6 J$ k1 |9 Z! Y- T. X lab5.jpg ' J6 Z$ w% `: `
lab4.jpg
; P+ h( {$ O) ?提示:本人AMD的cpu,labview连接mbed采集几分钟之后,电脑会出现蓝屏显示 usb错误,希望坛友积极反馈遇到的其他问题。( J2 U$ }0 h0 O

: x& H5 T$ p. I! s8 j8 ~' g0 d1 \( O  X# h9 B
1 收藏 4 评论3 发布时间:2017-3-22 23:28

举报

3个回答
anywill 回答时间:2017-3-22 23:31:19
本帖最后由 anywill 于 2017-3-23 20:04 编辑 ( J  I$ d5 q+ R

0 F' q3 o5 ~0 u( S- d$ n; r沙发自己占, P70312-171238.jpg 3 m% D' Z7 p0 G  ~) q/ k
P70312-180259.jpg 7 h" k8 G2 t2 Q' |5 t
labview的VI库插件6 m# E. L: Q# R9 Y5 M% M" G
参照本人上一贴
6 b7 F- w. R* @" w4 ^" |: c
0 W# H" F9 }+ n本实验VI7 S; Q: s- Q' O2 l

4 m1 W: x: R/ L; h! S. a8 H" u  |/ {. x

9 s7 \- G; o( |# r, T  d
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 手机版