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

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

[复制链接]
anywill 发布时间:2017-3-22 23:28
【黄金搭档mbed+labview】初体验
1 {# n; V4 U5 P' ]2 @2 K
" G5 j0 ]9 o) Y: I6 e; }4 MNucleo+Mbed +labview   小试牛刀之-模拟量读取 并解决驱动问题
8 e- m3 C! N; X; O
' t5 a9 d6 i# B$ O: n9 f  q# f
本实验前提是安装了nucleo的三合一驱动:mass storage/ usb vcp/usb debug
$ @! I" m9 H: e首先安装labview,本人是NI LabVIEW 2016 (64-bit)
* |! G7 f  p, i  v6 e" |! O  [再安装针对labview的设备驱动,我选的是NI VISA16.00full
) i6 y2 Z* o# j' b有了它labview才能识别各种数据采集设备的端口
' ~. F, r6 w: }安装之后 原nucleo三合一驱动会被ni VISA驱动代替,显示三个stlink设备- ?% T( B+ E# [+ z, d2 r
导致原有的stlink不能使用,MDK,AIR等软件都不能识别,也不能下载程序% C% I, k' X6 \4 t+ @7 e# x4 U
解决办法就是将VISA驱动删掉,再重装一遍,我装的是STSW_LINK009_V1.01( u2 y6 l: I$ P; n: v( {
通过usb 的虚拟串口向labview传输数据
" Q7 Z- l, r4 U, |! k9 V//另外CP2102 usb转TTL也可以顺利被labview识别,9 A* a- F! u& }* R
lab2.jpg ' a. N, s6 i, D1 }& u' [1 g. s
然后就可以正常使用mbed+labview编程了,
( m2 p' Z4 I6 V% u
5 Y) W: _9 W* z* T& k7 _代码如下:. `" x: A' U* H7 Q6 A4 D/ a9 A) g4 c0 L

4 D. f  u* E6 m9 Q# N#include "mbed.h"
0 {# _0 j7 f6 f
! u. m& q# d$ l( tDigitalOut myled(LED1);/ b" M% E3 U/ p
AnalogIn ain(A3);
/ K% s1 v" a  P( {4 g7 s: e) M& W
, z) t4 [) e- Z6 \6 s' N: N$ ?int main() {! u5 a0 h9 o. M$ _
     float ADCdata;7 U/ u2 C7 S7 Q: ^. o+ Y3 k5 |
    while (1) {4 R- Z9 u; [  y8 y9 _& z
        for (int i=0;i<=9;i++)! ]' P6 |6 i  [' {( A5 U& }
        {# }! F' j2 }8 k8 @" R4 P2 A- K
         ADCdata=ADCdata+ain.read();
' u( l0 Z7 T, t- [. T        }
% }1 A; P  g2 o2 Z        ADCdata=ADCdata/10;, Y. z  U1 n. [4 G% W
        printf("%f\n", ADCdata);( D# d- N: E3 l$ E1 h  s
        myled = !myled;
. D5 w( G1 y& A. f0 e% v4 z        wait(0.01);9 |. m7 U% L6 M
    }
: D' d8 I  N3 g, o}
( `& a5 b3 W/ N3 o9 e0 W6 \6 o这个例子源于mbed上的Cookbook,2 f' n& Y# p- Q( F% G0 D
通过一个电位器输入0v~3.3v电压到nucleo的 A3口,4 @( D0 H% y. j* }: `! Z3 H
经过nucleo采集输出0~1的数字量到labview以波形图连续显示和数字表盘瞬时值显示7 ^0 q" r5 L0 T" }0 [
stm32程序本人加了for循环求平均值,防止采集的数据跳变+ K$ s& H/ _. r- `
labview程序前面板可以选择串口,然后运行开始采集电压值
# r# p% ]# E7 J( Q* v/ K% o: J# a lab3.jpg ( n0 Q) n- n' ^
labview程序数据流表示:在while循环内通过mbed read函数读取串口,
/ y7 }4 y; ?" D- u( y% r, v然后输出到波形图和数字仪表控件
1 @2 }; B; ~" A$ x7 |, \) M通过stop布尔值控制退出while循环0 _& y$ d6 `2 E+ J6 T9 V3 v7 [/ l
lab5.jpg
7 f) L: x; U3 i2 C7 t" H, T# z lab4.jpg
: Z7 K* [: U# [" j: f1 s9 b提示:本人AMD的cpu,labview连接mbed采集几分钟之后,电脑会出现蓝屏显示 usb错误,希望坛友积极反馈遇到的其他问题。0 x8 Q$ y4 X1 D$ @4 F+ P

6 ^, n6 o7 p) S3 z0 ]% P8 a+ P- Q' d3 A# i" o1 L
赞 1 收藏 4 评论3 发布时间:2017-3-22 23:28

举报

3个回答
anywill 回答时间:2017-3-22 23:31:19
本帖最后由 anywill 于 2017-3-23 20:04 编辑 : W6 V' o. `9 x* L$ H

6 w5 u8 @. C8 W# w; k, F沙发自己占, P70312-171238.jpg 8 w$ g% b6 {* d' s! T" C
P70312-180259.jpg : ]2 F$ `& G5 x2 H/ @% [
labview的VI库插件
0 |( \# h' K1 O9 g5 L4 y7 T& z! S参照本人上一贴
# {; W  E! R, `9 w6 f7 [- t1 A) b% v% z, A
本实验VI+ \) a- r2 {) g! a9 r, u" Y3 m4 t& T
& W, H7 t1 j- S9 ~$ V

, G+ ]5 r$ K. E0 G: x( }. L& R( l7 Y1 Z' L
lobukong 回答时间:2017-3-23 09:03:18
赞,原来有这样多种驱动。。
谁拿了我的帽子 回答时间:2017-3-23 09:55:50
matlab好强大,本人用的少,感觉可以深度研究一下
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版