本帖最后由 unicornchen 于 2015-9-3 14:37 编辑
小弟接触
labview不久,最近在用LabVIEW控制一个CONTEC 的板卡PIO-32DM,是用官网的lib文件开发的,由于在之前开发的基础上,所以调用的之前的dll。板卡是数字量输入输出(DIO),实现发送和采集功能分别用到以下两个函数。
(A)DioDmSetBuffer (HANDLE hDrv, DWORD Dir, DWORD *Buff, DWORD dwLen, DWORD IsRing)
(B)DioDmStart(HANDLE hDrv, DWORD Dir);
基本过程是,先设置控制寄存器的一些功能(这部分没问题),需要发送时,先调用函数(A),再调用函数(B)。G程序如下,(send时没问题,Value to Send 中的数据依次发出去):
但是接收的时候问题就来了。显示不出来。利用dll中有一个统计接收FIFO缓存的函数,可以读出来接收到的数据的数量(数量也是正确的),但是就是没法在显示控件中显示出来。编程如附图(接收程序1 和 接收程序2)(dll中参数设置跟上一副图一样) 我觉得可能是内存地址的问题,不知道是不是内存地址找错了,或者是因为C语言和G语言在某些方面不兼容。各位大侠帮帮小弟吧,感激不尽!!!
-
G程序(发送时)
-
参数设置
-
接收的G程序1
-
接收的G程序2
一周热门 更多>