Labview与MCU的USB通讯

我用的是单片机MG84,和Labview进行USB通讯。

一、创建VISA USB驱动

通过Labview自带的软件 NI-VISA Driver Wizard
选择USB
Labview与MCU的USB通讯_第1张图片
选择你的设备,ID在设备管理器中看,我这是已经插上电脑的,没有插的选择other
Labview与MCU的USB通讯_第2张图片
NEXT,选择路径,生成inf文件
Labview与MCU的USB通讯_第3张图片
生成好了后在进行安装

二、Labview写程序

Labview与MCU的USB通讯_第4张图片
首次程序是这样,会出现报错 VISA:(Hex 0xBFFF003A) 由于设置无效(导致属性被设置为不一致状态),将无法开始操作

参考网上的解答,重新写了下:
Labview与MCU的USB通讯_第5张图片
报错解除,可以正常读写,此报错是因为此USB是HID类型的,并且输入和输出都是中断传输,所以需要加入USB的中断处理
在labview的visa选板中,高级visa>>事件处理,选择visa启用事件和visa等待事件。
Labview与MCU的USB通讯_第6张图片
接着,在visa选板》高级visa》总线与接口配置》visa USB中,选择visa获取usb设备中断数据
Labview与MCU的USB通讯_第7张图片
要注意必须在visa写入之后才可以读取usb中断返回的数据。不写入或是写入的数据错误导致无返回值,就会产生超时错误 VISA: (Hex 0xBFFF0015) 完成操作前超时已过期。可以将超时的时间设置的长一些,看一下是不是此处的问题。如果还是在超时这里有问题,拔插一下USB,再试试吧。
连接VISA获取USB中断数据时,可能会有接线端冲突,要在 visa等待事件 定义类型,如下图所示。
Labview与MCU的USB通讯_第8张图片
Labview与MCU的USB通讯_第9张图片
另外,USB中断是需要在连线端点,右键–>创建常量–>USB中断,不能自己创建个下拉列表,不然也会报错的

你可能感兴趣的:(APx,Labview,单片机)