《LabVIEW调用DLL文件实现USB HID双向通信》.pdf

《LabVIEW调用DLL文件实现USB HID双向通信》.pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《LabVIEW调用DLL文件实现USB HID双向通信》.pdf

再谈 USB 开发:LabVIEW 调用 DLL 文件实现 USB HID 双向通信 王逸彬 wyb_4993@126.com 在前面,我们已经介绍过利用 NI 的VISA 来实现 USB HID 双向通信。借助 VISA 来实 现 USB HID 通信,是比较稳定和可靠的,缺点就是需要安装庞大的 VISA 驱动程序,而且 我们的 STM32 硬件需要被 MAX 正常识别出来,如果不能识别,那么这种方法是行不通的。 其实我们还有另外的方法,就是通过 LabVIEW 调用 DLL 文件,实现 USB HID 的双向 通信。 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 文件的路径了。而“线程”,一般都是选择“在 UI 线程中运行”。在“调用规范”中,因为是调用我们写的 DLL 文件,所以选择“C ”。如果 是调用 windows 系统中的 DLL 文件,那么选择“stdcall (WINAPI )”。 我们把 DLL 文件装进来之后,就可以看到 DLL 文件中包含的所有函数了,在“函数名” 下拉列表中可以看到。 需要注意的是:默认的 DLL 文件中的函数原型都是:“void Init(void ); ”,这是不对的, 我们需要在“参数”中,给函数配置输入参数、输出参数以及返回类型。 我们最终的目的,就是要把函数原型,配置成 DLL 文件中的函数格式。所以,创建 DLL 文件的开发者需要提供函数原型,我们才能在 LabVIEW 中正确配置,否则我们将直 接失败! “回调”和“错误检查”选项的配置,一般默认就可以了: 我们退出“调用库函数”的配置之后,在 LabVIEW 的程序框图上,就多了输入和输出 接线头了,这样我们就可以给函数输入参数了,或者输出函数的执行结果: 3、LabVIEW调用windows系统的的DLL文件 我们知道,在 windows 系统中有大量的 DLL 文件,如果 LabVIEW 可以调用它,那么 将可以实现更多的、更强大的功能。 我们以一个实例来说明一下。我们调用“user32.dll”文件,实现windows 弹出窗口的 显示: 请注意上图中的“函数原型”,这是要根据微软公司提供的“FindWindowA ”函数原型, 才能配置出来的。如果没有微软的函数原型,那么我们在“参数”中将无法配置! 其它函数的配置类似。最后的运行结果是: 这个弹出窗口是不是比 LabVIEW 自带的弹出窗口专业多了?也更符合用户的windows 使用习惯。 4、结尾 到了这里,我们可以看到,LabVIEW 调用 DLL 文件是很简单的,关键是我们要知道 DLL 文件中的函数原型! 我们也可以比较一下通过 VISA 和通过 LabVIEW 调用 DLL 文件实现 USB HID 双向通 信的的优缺点。 1、通过 VISA ,我们可以简单和快速地开发 USB HID 通信,不必了解底

文档评论(0)

wgvi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档