LabVIEWwilliam hill官网
直播中

ZHZJK

11年用户 643经验值
擅长:可编程逻辑
私信 关注
[问答]

labview调用动态链接库问题

本帖最后由 ZHZJK 于 2014-7-15 11:07 编辑

本人使用动态链接库一直没成功过,这次准备调用读卡器的dll来读卡
用了其中 打开串口 和读取卡号 两函数总是有错
希望大家帮忙看看
下面是一些基本的图片。


newscreen9670377.jpg


newscreen9888840.jpg
newscreen9867702.jpg


newscreen9858358.jpg



下面为链接库的一些内容
设备号一般为0
newscreen10458353.jpg

这边波特率一般为9600
newscreen10445156.jpg


上传的VI是2012版本的,下面是一些最基本的资料。
VI是2012的,按下按钮打开串口













  • newscreen9670377.jpg

    读卡.vi (2014-7-15 10:57 上传)

    12.83 KB, 下载次数: 84

    201Comm.dll (2014-7-15 10:58 上传)

    160 KB, 下载次数: 88

    201COMM.pdf (2014-7-15 10:58 上传)

    66.23 KB, 下载次数: 113

回帖(23)

ZHZJK

2014-7-17 08:24:37
突然弄好了 ,可以使用了
举报

zhou2sheng

2014-7-23 10:17:12
楼主能把解决办法分享一下嘛?
举报

ZHZJK

2014-7-27 17:31:18
引用: zhou2sheng 发表于 2014-7-23 10:17
楼主能把解决办法分享一下嘛?

其实这对你的帮助可能会小点,不过还是说下吧
其实链接库就是其它语言编写的程序罢了
要使用别人的链接库,一定要符合别人的逻辑
而本链接库其实就是对串口的一些操作罢了,要想使用必须了解串口的规则
当然串口的规则很简单,相信大多数人都是知道的,就是打开串口,读写,关闭串口
所以使用这链接库,必须要先使用打开串口的函数,否则肯定会报错

下图是打开串口的函数
newscreen32231850.jpg
handle表示的是句柄,就是I32, 然后就是端口号,和波特率
有个重点,下面的调用规范要选择   stdcall  不然会报错

newscreen32198341.jpg
先将打开串口发给你,剩下的还要整理一下

举报

ZHZJK

2014-7-27 19:00:47
引用: zhou2sheng 发表于 2014-7-23 10:17
楼主能把解决办法分享一下嘛?

下面这地方有一个真正的陷阱
先来看一下读串口函数的函数原型
newscreen2147447.jpg

众所周知,labview里串口所有的函数都是直接用COM口的
串口打开后,直接用COM口读写
再调用C++编写的程序难免会直接用  COM 作为参数来读程序
如果这样做,就会步入一个天然的陷阱中
因为这程序中读取串口是用的句柄,而句柄是整形
当时我就在想,为什么COM口会输入的是整形
现在想想,在windows操作系统中,句柄就是代表的每一个窗体,同样可以用句柄好代表端口号

最后传上程序图片
newscreen2569508.jpg

希望个人的见解能给你与观看这篇帖子的人一些启发(虽然看我帖子的人很少^_^)

举报

更多回帖

发帖
×
20
完善资料,
赚取积分