编辑: xiong447385 2019-07-05

1 *

2 5 +

1 *

2 0 =

32 + 1= 33. 相应的函数调用为: W 711B DO( 0, 33);

此驱动函数的缺陷不仅在于用户难以了解其用法 ,更在于对其调用时极不方便.因为 8个数字输出通道 的状态具有

2 8 种组合 ,用户很难将这些组合完全记住.现代的编程方式大多是模块式编程方法 [ 2] ,一个应用 程序往往由多个人共同编写 ,当多个人都要使用 W 711B DO函数但对不同数字输出通道编程时 ,由于不 知道其它数字输出通道的状态而无法正确使用此函数.合理的解决方法应当是一个函数只对一个数字输出 通道的状态进行设定 ,而不用考虑其它通道的状态. 为此 ,笔者提出如下解决方案: 首先在 PCL711B数据采集卡驱动程序头文件 711b. h中添加以下定义: int HBit [8], LBit [8 ];

此语句定义了二个整型数组 ,用以存放数字输出通道的状态 . HBit [8]存放第 8到第 15个数字输出通 道的状态 , LBit [8 ]存放第 0到第 7个数字输出通道的状态.这二个数组作为数字输出通道输出状态的存储 单元 ,用户修改了某一个通道的输出状态后就要修改数组中相应元素的值 ,而当用户欲获得所有通道的输出 状态值时 ,只须调用相应的数组. 在应用程序的初始化语句里面加上以下语句 [ 3] : for ( int i= 0;

i < 8;

i+ + ) { iHBit [i ]= 0;

iLBit [i + 8]= 0;

} 该语句将保存数据采集卡数字输出通道状态的数组元素值初始化为 0,使之符合程序初始化时数据采 集卡数字输出通道状态的真实值 . 在711b. h 的末尾添加以下定义: void SetChaSta( int iChannel, int bBit) { int iResult= 0;

if(iChannel> =

8 && iChannel =

0 && iChannel

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题