本帖最后由 ZHZJK 于 2014-7-15 11:07 编辑
本人使用动态链接库一直没成功过,这次准备调用读卡器的dll来读卡
用了其中 打开串口 和读取卡号 两函数总是有错
希望大家帮忙看看
下面是一些基本的图片。
下面为链接库的一些内容
设备号一般为0
这边波特率一般为9600
上传的VI是2012版本的,下面是一些最基本的资料。
VI是2012的,按下按钮打开串口
读卡.vi
(12.83 KB, 下载次数: 57)
201Comm.dll
(160 KB, 下载次数: 67)
201COMM.pdf
(66.23 KB, 下载次数: 73)
-
其实这对你的帮助可能会小点,不过还是说下吧
其实链接库就是其它语言编写的程序罢了
要使用别人的链接库,一定要符合别人的逻辑
而本链接库其实就是对串口的一些操作罢了,要想使用必须了解串口的规则
当然串口的规则很简单,相信大多数人都是知道的,就是打开串口,读写,关闭串口
所以使用这链接库,必须要先使用打开串口的函数,否则肯定会报错
下图是打开串口的函数
handle表示的是句柄,就是I32, 然后就是端口号,和波特率
有个重点,下面的调用规范要选择 stdcall 不然会报错
先将打开串口发给你,剩下的还要整理一下
下面这地方有一个真正的陷阱
先来看一下读串口函数的函数原型
众所周知,labview里串口所有的函数都是直接用COM口的
串口打开后,直接用COM口读写
再调用C++编写的程序难免会直接用 COM 作为参数来读程序
如果这样做,就会步入一个天然的陷阱中
因为这程序中读取串口是用的句柄,而句柄是整形
当时我就在想,为什么COM口会输入的是整形
现在想想,在windows操作系统中,句柄就是代表的每一个窗体,同样可以用句柄好代表端口号
最后传上程序图片
希望个人的见解能给你与观看这篇帖子的人一些启发(虽然看我帖子的人很少^_^)
一周热门 更多>