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

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

[复制链接]
anywill 发布时间:2017-3-22 23:28
【黄金搭档mbed+labview】初体验

Nucleo+Mbed +labview   小试牛刀之-模拟量读取 并解决驱动问题


本实验前提是安装了nucleo的三合一驱动:mass storage/ usb vcp/usb debug
首先安装labview,本人是NI LabVIEW 2016 (64-bit)
再安装针对labview的设备驱动,我选的是NI VISA16.00full
有了它labview才能识别各种数据采集设备的端口
安装之后 原nucleo三合一驱动会被ni VISA驱动代替,显示三个stlink设备
导致原有的stlink不能使用,MDK,AIR等软件都不能识别,也不能下载程序
解决办法就是将VISA驱动删掉,再重装一遍,我装的是STSW_LINK009_V1.01
通过usb 的虚拟串口向labview传输数据
//另外CP2102 usb转TTL也可以顺利被labview识别,
lab2.jpg
然后就可以正常使用mbed+labview编程了,

代码如下:

#include "mbed.h"

DigitalOut myled(LED1);
AnalogIn ain(A3);

int main() {
     float ADCdata;
    while (1) {
        for (int i=0;i<=9;i++)
        {
         ADCdata=ADCdata+ain.read();
        }
        ADCdata=ADCdata/10;
        printf("%f\n", ADCdata);
        myled = !myled;
        wait(0.01);
    }
}
这个例子源于mbed上的Cookbook,
通过一个电位器输入0v~3.3v电压到nucleo的 A3口,
经过nucleo采集输出0~1的数字量到labview以波形图连续显示和数字表盘瞬时值显示
stm32程序本人加了for循环求平均值,防止采集的数据跳变
labview程序前面板可以选择串口,然后运行开始采集电压值
lab3.jpg
labview程序数据流表示:在while循环内通过mbed read函数读取串口,
然后输出到波形图和数字仪表控件
通过stop布尔值控制退出while循环
lab5.jpg
lab4.jpg
提示:本人AMD的cpu,labview连接mbed采集几分钟之后,电脑会出现蓝屏显示 usb错误,希望坛友积极反馈遇到的其他问题。


1 收藏 4 评论3 发布时间:2017-3-22 23:28

举报

3个回答
anywill 回答时间:2017-3-22 23:31:19
本帖最后由 anywill 于 2017-3-23 20:04 编辑

沙发自己占, P70312-171238.jpg
P70312-180259.jpg
labview的VI库插件
参照本人上一贴

本实验VI



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 手机版