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

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

[复制链接]
anywill 发布时间:2017-3-22 23:28
【黄金搭档mbed+labview】初体验- A  }: Q' H2 q
4 z  V* k2 p" B5 X. Y
Nucleo+Mbed +labview   小试牛刀之-模拟量读取 并解决驱动问题
' {) Y/ K4 P& j

' v2 T/ I% \& N本实验前提是安装了nucleo的三合一驱动:mass storage/ usb vcp/usb debug
( j6 i' h- `/ I+ a6 s8 V$ G( X首先安装labview,本人是NI LabVIEW 2016 (64-bit)! `' x7 |) Y" r$ C
再安装针对labview的设备驱动,我选的是NI VISA16.00full 5 ?! Q2 E+ j- N  }- Z0 V
有了它labview才能识别各种数据采集设备的端口
. `- U, U& |/ K8 h9 M+ d& n8 n安装之后 原nucleo三合一驱动会被ni VISA驱动代替,显示三个stlink设备4 Y1 |, e8 T" y6 N3 l" L8 G
导致原有的stlink不能使用,MDK,AIR等软件都不能识别,也不能下载程序
% e2 `" S1 a+ {解决办法就是将VISA驱动删掉,再重装一遍,我装的是STSW_LINK009_V1.01
& a' o, g+ C0 R, F6 m9 L4 a0 ^通过usb 的虚拟串口向labview传输数据. n' ^5 M! r$ @- A2 U0 M* z
//另外CP2102 usb转TTL也可以顺利被labview识别,
$ }4 n9 }' R2 `3 c; s4 ] lab2.jpg
; b. @+ a% {" b$ O) w' j3 G4 [7 j4 S然后就可以正常使用mbed+labview编程了,7 l9 c! O" b0 V
6 n: w' F) |" y) H
代码如下:
5 d/ {1 u1 S/ E( C: m" M+ r
5 O$ ]9 F. k' H, q#include "mbed.h"2 Y2 C; o: |/ E
' D3 w$ R/ t' T$ t
DigitalOut myled(LED1);
" w  z4 k0 h# U4 KAnalogIn ain(A3);' `5 m" M  P- V. n/ ~
- }, q3 A( ?- O0 O% L+ I/ R
int main() {
" z6 Z2 U8 Z4 j! z- ^' G. L     float ADCdata;+ h: U! a. y) q6 `# U6 i; A
    while (1) {
0 [! T* v" x( B1 u% k% U2 S8 d        for (int i=0;i<=9;i++)' f& r4 ?+ T0 O" s8 G0 ^
        {  x6 h2 l" K  ]. h
         ADCdata=ADCdata+ain.read();
2 P& }& q4 k/ K$ |2 i6 ~: l        }7 t7 d! l* l3 m
        ADCdata=ADCdata/10;
% k% Y' A7 S6 @9 q, k        printf("%f\n", ADCdata);8 x4 K" n" v; I7 _
        myled = !myled;5 k: F+ r: L4 C2 w$ N7 {' W
        wait(0.01);
2 d6 g! {" C! B" u' {" O3 n- k    }( l) V* T1 K. Q8 v
}
$ y$ S6 {: T  ^; g/ W% k; ]6 D这个例子源于mbed上的Cookbook,
* O' ?9 u/ u& U0 U通过一个电位器输入0v~3.3v电压到nucleo的 A3口,: q/ t7 F! H: ~* P
经过nucleo采集输出0~1的数字量到labview以波形图连续显示和数字表盘瞬时值显示
+ X7 j) Y8 E! ?stm32程序本人加了for循环求平均值,防止采集的数据跳变7 }2 A% c  t; ?  k9 v- e3 x8 P1 a
labview程序前面板可以选择串口,然后运行开始采集电压值" Z3 G0 W- c! q( W
lab3.jpg ' N/ m) b4 Z$ _; q3 a. L; B) J4 [0 C
labview程序数据流表示:在while循环内通过mbed read函数读取串口,5 Q! @3 L; z( z3 R# T
然后输出到波形图和数字仪表控件
. ~3 v6 n# P( @  ~通过stop布尔值控制退出while循环6 u% g' I* Y/ q: ^
lab5.jpg 7 v" [& n% W2 K8 m4 s1 h
lab4.jpg - J/ F- j, v$ \% Y
提示:本人AMD的cpu,labview连接mbed采集几分钟之后,电脑会出现蓝屏显示 usb错误,希望坛友积极反馈遇到的其他问题。# P2 d, r+ h' v9 ]0 m
1 d2 x* m7 h* R& E

$ H" g: D# Q3 g! G% X* c: q
1 收藏 4 评论3 发布时间:2017-3-22 23:28

举报

3个回答
anywill 回答时间:2017-3-22 23:31:19
本帖最后由 anywill 于 2017-3-23 20:04 编辑
8 y& M$ z6 S; q* a& z$ z+ Z# N" H! G9 [
沙发自己占, P70312-171238.jpg * P8 w- {5 c% S; S5 ?
P70312-180259.jpg
" W- {4 P  f  \" t% Alabview的VI库插件
( W5 }7 s  d5 m4 p6 x1 G参照本人上一贴2 C( Y* l. r7 R/ p( }0 w
( c8 n( |0 N* Y8 h
本实验VI
  R  A3 R! K1 U; q5 n
. _' _' M0 A+ ?9 C
- ~/ I9 t! P/ X* e* R( }
: l: ?) w4 V( H1 |: u. Y  q) O' T7 v
lobukong 回答时间:2017-3-23 09:03:18
赞,原来有这样多种驱动。。
谁拿了我的帽子 回答时间:2017-3-23 09:55:50
matlab好强大,本人用的少,感觉可以深度研究一下

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版