本帖最后由 NUAA-DW 于 2016-7-21 20:11 编辑
当初在网上找了好久USB通信相关的,但是大多都要用VS写上位机。本人从没有写过C++,安装完VS2015一脸懵逼,遂放弃。刚开始用LabVIEW的时候就知道labview的VISA可以进行USB通信,但是经过一段时间摸索VISA的速率始终上不去,20K/S左右,搞了好久。还研究了一段时间labview调用DLL这个方法,差点掉坑里。之后发现STM32程序和labview程序都有点问题。
我觉得想要使用USB与labview通信至少需要了解基本USB通信协议(至少知道ST公司USB库你需要怎么改动)和基本labview硬件通信和VISA。 芯片STM32F103RCT6,程序是基于网上一位大神双缓冲USB程序改的(原谅我忘记是哪位)。发送固定的64字节数组至上位机。
labview版本是2014,VISA版本15。labview程序很简单,就是读取。
说下基本用法吧,先用NI-Driver Wizard生成inf文件(网上教程很多),安装完之后看设备管理器。出现这个说明枚举成功。NI还自带了一个IO测试软件,NI-MAX,设备和接口中可以看到你的设备(VID和PID)。第一页Configureation-setting可以看到你的基本设置。view attributes可以看到具体配置信息,如果某项配置失败会显示红 {MOD}。比如你用不到中断传输,没配置,Interrupt相关的就是红 {MOD}(但是我并不清楚不配置用不到的,这样会不会有影响)。这边没问题了到第二页Input/output -basic I/O,里面可以测试数据读取,具体细节我就不讲啦。然后关掉打开labview程序就可以了(labview程序和MAX不能同时占用同一资源口)。lvisa Read好像读取字节越多,速度越快。
Bushound测速900KB+。暂时只用到了STM32发数据给PC,反方向并没有试。本人系统win10。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我是自定义类设备,BULK方式
一周热门 更多>