再谈USB开发:LabVIEW调用DLL文件实现STM32+USB+HID双向通信
- 格式:pdf
- 大小:224.81 KB
- 文档页数:8
图20 Parameters页面点击“OK”,将生成的CLN的输入段连接到DAQmx Read.vi,return type 输出连接到波形图表上,即可实现采集值放大10倍的功能。
图21 完成后的程序方法二LabVIEW中还有一种方法可以调用DLL文件,在VI的选项栏,依次选择Tools——Import——Shared Library(.dll),弹出Import Shared Library 对话框。
图22 生成Import Shared Library对话框选择Create VIs for a shared library,点击Next,在Shared Library (.dll) Files中输入Scale.dll文件的路径,Head(.h) File里填写头文件的路径。
图23 选择DLL文件路径和头文件路径点击Next,如果DLL文件中依赖其他的一些DLL文件,需要在Include Paths中填写这些文件的路径。
其他选项可以根据客户需求设置,一般默认即可。
这样一直点击Next到最后,选择Open the generated library,点击Finish。
这样可以生成一个.lvlib格式的库文件,里面包含了Scale.vi,这是将调用该DLL 文件的方法封装好的VI,只留下输入和输出接口,方便运用到LabVIEW的程序中。
直接将Scale.vi拖放到刚才的连续采集中即可完成方法一的功能。
图24 完成的程序VC调用LabVIEW生成的DLL文件刚才介绍了LabVIEW调用DLL文件的方法,使用VC调用LabVIEW生成的DLL 文件也很简单。
还是以之前生成Scale 的DLL文件为例,不同的是采集电压程序使用的是C语言的例程,但和LavVIEW实现的功能相同。
首先将先前生成Scale DLL文件时,路径下所有的文件全部复制粘帖到C语言例程的文件夹下。
打开连续采集程序,点击状态栏的Project——Settings,在Project Settings对话框中加载入Scale.lib的静态链接库。
基于LabVIEW的USB实时数据采集处理系统的实现基于LabVIEW的USB实时数据采集处理系统的实现摘要介绍了以图形化编程语言LabVIEW为应用程序开发平台的USB数据采集处理系统的设计,并给出了LabVIEW对外部动态链接库的调用方法以及USB驱动程序的设计方法。
关键词USB LabVIEW 数据采集通用串行总线USB(Universal Serial Bus)作为一种新型的数据通信接口在越来越广阔的领域得到应用。
而基于USB接口的数据采集卡与传统的PCI卡及ISA卡相比具有即插即用、热插拔、传输速度快、通用性强、易扩展和性价比高等优点。
USB的应用程序一般用Visual C++编写,较为复杂,花费的时间较长。
由美国国家仪器(VI)公司开发的LabVIEW语言是一种基于图形程序的编程语言,内含丰富的数据采集、数据信号分析分析以及控制等子程序,用户利用创建和调用子程序的方法编写程序,使创建的程序模块化,易于调试、理解和维护,而且程序编程简单、直观。
因此它特别适用于数据采集处理系统。
利用它编制USB应用程序,把LabVIEW语言和USB总线紧密结合起来的数据采集系统将集成两者的优点。
USB总线可以实现对外部数据实时高速的采集,把采集的数据传送到主机后再通过LabVIEW的功能模块顺利实现数据显示、分析和存储。
1 USB及其在数据采集设备中的应用USB自在Comdex上亮相以来,已广泛地为各PC厂家所支持。
现在生产的PC几乎都配置了USB接口,Micro soft的Windows98、NT以及Mac OS、Linux等流行操作系统都增加对USB的支持。
USB具有速度快、设备安装和配置容易、易于扩展、能够采用总线供电、使用灵活等主要优点,应用越来越广泛。
一个实用的USB数据采集系统硬件一般包括微控制器、USB通信接口以及根据系统需要添加的A/D转换器和EPROM、SRAM 等。
为了扩展其用途,还可以加上多路模拟开关和数字I/O端口。
烟台大学硕士学位论文基于USB接口的LabVIEW数据采集与传输系统的设计与实现姓名:刘昌伟申请学位级别:硕士专业:信号与信息处理指导教师:邵左文20090601摘要通用串行总线(USB)作为一种新的总线标准,由于具有接口简单、支持热插拔、传输速率高等优点在数据采集中得到了广泛应用。
本课题结合DSP和USB技术的优点设计了一种基于USB总线和数字信号处理器的多路数据采集系统,具有成本低、集成度高等优点。
采用德州仪器公司先进的高性能数字信号处理器TMS320F2812和赛普拉斯公司的USB 接口芯片,自行设计的多路信号调理模块等电路,实现了集AD转换、数据存储等功能于一体的数据采集与传输系统,可通过USB接口将数据实时传输至PC机或存储至U盘。
主要设计了DSP主控模块、程控信号调理模块、高速ADC模块、嵌入式USB主机接口模块、USB从机接口模块和4通道高速DAC模块,并基于这一硬件平台,通过LabVIEW编制应用程序,把LabVIEW软件和USB总线的优点紧密结合起来,最终实现了数据的采集、处理、显示及存储等功能。
关键词:数字信号处理,数据采集,通用串行总线,LabVIEWAbstractAs a kind of new bus standard, Universal Serial Bus (USB) has been widely applied in the field of the data acquisition because of its easy interface,high transmission rate,supporting hot plug and bining the advantages of the DSP and USB technology, this article designs a suit of the multi-channel data acquisition system based on the USB bus and digital signal processor, which has the advantages of the lower cost, higher integration and so on.Depending on the advanced high-performance digital signal processor of Texas Instruments corporation and USB interface chip of Cypress,this article develops a kind of data acquisition and transmission system which has the function of signal conditioning,analog to digital signal conversion,data storage and other functions.It has a variety of auxiliary circuit to meet the requirement of increasingly complex signal acquisition and processing and the real-time data can be transmitted to the PC or storaged in U disk through the USB interface. This article mainly designs DSP control module, programmable signal conditioning module, high-speed ADC module, embedded USB host interface module, USB slave interface module and 4-channel high-speed DAC module. basing on the hardware platformt, we finally carry out the function of data acquisition, processing, display, storage by using LabVIEW.Key Words:digital signal processing,data acquisition,USB,LabVIEW烟台大学学位论文原创性声明和使用授权说明原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。
1楼发表于昨天 12:07 |只看该作者|倒序浏览|打印本帖最后由 wyb4993 于 2011-7-15 09:36 编辑在前面,我们已经介绍过利用NI的VISA来实现USB HID双向通信。
借助VISA来实现USB HID通信,是比较稳定和可靠的,缺点就是需要安装庞大的VISA驱动程序,而且我们的STM32硬件需要被MAX正常识别出来,如果不能识别,那么这种方法是行不通的。
/bbs/forum.php?mod=viewthread&tid=27417其实我们还有另外的方法,就是通过LabVIEW调用DLL文件,实现USB HID的双向通信。
(说明:请不要向我索要LabVIEW源代码,开发千般辛苦,况且是公司的代码,我相信大家的水平都比我高,通过下面的入门介绍,相信大家可以做出来的。
)1、什么是DLL文件?动态链接库(Dynamic Link Library,缩写为DLL)是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。
动态链接库文件的扩展名一般是DLL,它和可执行文件(exe)非常类似,区别在于DLL中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用。
按照我们的理解,DLL文件中有C语言(也可以是其它语言)写的函数,究竟有多少个函数,由DLL文件的创建者决定的。
DLL有助于促进模块式程序的开发。
因为它的封装性、***性好。
DLL文件也不一定由开发者创建的,其实windows系统中就提供了大量的DLL文件,例如windows编程所需的大量API函数存储在Kernal.DLL文件中。
LabVIEW不仅可以调用我们自己创建的的DLL文件,也可以调用windows系统中的DLL文件。
下面我们分这两种情况进行说明。
2、LabVIEW调用我们创建的DLL文件LabVIEW的“调用库函数节点”在以下路径:“互连接口”→“库与可执行程序”→“调用库函数节点”我们把这个控件放在VI的程序框图中:双击控件后,可以打开如下配置窗口:“库名/路径”比较简单,就是DLL文件的路径了。
利用动态链接库(DLL)实现LabVIEW与USB设备的数据通
信
陈国亮;张素君
【期刊名称】《福建电脑》
【年(卷),期】2005(000)007
【摘要】本文简要介绍了LabVIEW的特点及USB设备的功能;分析了在LabVIEW软件环境下如何调用DLL(Dynamic Link Library)子VI实现LabVIEW 与USB设备的通信;并利用VC++6.0编写所需要的DLL模块.
【总页数】2页(P149-150)
【作者】陈国亮;张素君
【作者单位】福建省超高压输变电局,福建,厦门,351100;福州大学电气工程与自动化学院,福建,福州,350002
【正文语种】中文
【中图分类】TP3
【相关文献】
1.在LabVIEW中利用动态链接库实现串口通信 [J], 田云
2.利用LabVIEW导入工具实现DLL调用 [J], 郑铭
3.基于LabVIEW NI-VISA实现PC与C8051F320的USB数据通信 [J], 段晋军;位恒曦;常晓明
4.机房运行监控系统中采用动态链接库(DLL)技术实现数据通信接口的方法 [J], 黄
晓兵
5.在LabVIEW中利用DLL实现数据采集 [J], 许剑;邹小芳;王建华
因版权原因,仅展示原文概要,查看原文内容请购买。
/a827415225/article/details/51745013移植STM32固件库用于HID双向通信USB的应用中HID类是比较常见的方式。
通过修改STM32 USB固件库V4.0的JOYSTICK 应用,我们实现一个双向USB通信。
一、移植使用STM32源程序为点亮LED灯程序。
首先将USB固件库中有用的函数复制到源函数中,建立LIB文件夹其中放入USB2.0协议函数建立CFG文件夹放入USB应用函数将两个文件夹都放到源工程目录下将文件添加进来,设置好,配置好KEIL软件设置。
二、修改文件1、首先修改platform_config.h函数。
该文件是对于多种芯片对于USB库的支持。
我们使用STM32F103ZET6芯片,所以只保留与之相关的ID项,与USB_DISCONNECT线(PG11)的配置。
修改之后的头文件如下所示2、然后修改hw_config.c中Set_System函数实际上STM32F103zet6不需要对USB端口进行单独的配置,删掉Set_System函数中没用的部分,只对USB_DISCONNECT线(PG11)进行初始化。
修改后的函数如下图所示。
3、接下来修改hw_config.c文件中USB_Cable_Config函数因为我使用的是比较老的神舟III开发板,当PG11为高电平时实现上拉,所以修改后的函数为4、修改USB_Interrupt_Config函数,配置USB_LP_CAN1_RX0_IRQn和USBWakeUp_IRQn中断修改后的函数如下图所示。
5、接下来删掉hw_config.c文件中GPIO_AINConfig函数,没有什么用,只会报错6、删掉与按键相关的设置,因为我们并没有用到,主要是先清除JoyState和Joystick_Send 函数中内容,不用管。
7、最后我们处理USB挂起相关的问题。
在USB固件库中提供挂起相关的处理函数,主要有2个函数需要修改。
利用LabVIEW导入工具实现DLL调用
郑铭
【期刊名称】《电子测试》
【年(卷),期】2009(000)006
【摘要】本文在介绍了动态链接库程序概念的基础上,以台湾泓格科技股份有限公司ISI-AD32、32通道隔离A/D数据采集卡为例,介绍了在LabVIEW 8.5开发环境下,通过利用LabVIEW开发环境中"导入"工具实现DLL调用方法.该方法克服了程序设计者通常在开发环境中通过CLF节点进行调用繁琐、各种不同类型的变量转换不正确时会造成不能控制的问题,及对类似的硬件提供的LabVIEW驱动版本太低或没有驱动,没有办法控制的问题同样可以解决.该方法简单实用,非常方便快捷,希望广大程序设计广为利用.
【总页数】4页(P33-35,39)
【作者】郑铭
【作者单位】91370部队,福建省福州市,350014
【正文语种】中文
【中图分类】TP312
【相关文献】
1.基于LabVIEW环境下调用DLL实现仪器控制 [J], 侯博;廖醒宇
2.嵌入式LabVIEW调用DLL实现数据采集 [J], 黄佳钰;邓焱;张锦杰
bVIEW平台下调用DLL实现PC/104数据采集 [J], 袁魏华;韩裕生;张伟伟;李
小明
4.基于调用DLL的LabVIEW数据采集的实现 [J], 张亿雄;顾海明
bVIEW 8.6报表工具包生成和调用DLL问题分析及对策 [J], 胡胜文;万加林因版权原因,仅展示原文概要,查看原文内容请购买。