首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于并行接口的动态参数采集系统的设计
来源:本站整理  作者:佚名  2009-09-01 11:37:42




下面是我们驱动程序中类实例:对存储器的读操作功能函数。 
NTSTATUS Drv_NUCDevice::DRV_NUC_READ_DATA_Handler(KIrp I)
{
NTSTATUS status = STATUS_SUCCESS;
t << Entering Drv_NUCDevice::DRV_NUC_READ_DATA_Handler, << I << EOL;
unsigned char *pData;
unsigned char tmp, tmp_in1, tmp_in2;
int para_base_address = 0x378;                 //并行接口地址
int i, j;
pData = (unsigned char*)I.IoctlBuffer();
tmp = _inp(para_base_address+2);
tmp_in1 = tmp & 0xfd;
tmp_in2 = tmp | 0x02;
for(j = 0; j < 1024; j++)                      //读取1024个字节数据
{
_outp(para_base_address+2, tmp_in2);       //向并行接口发控制命令
pData[j] = _inp(para_base_address);        //读取并行接口数据到计算机
_outp(para_base_address+2, tmp_in1);
}
I.Information() = 1024;
return status;
}


3.2 用户程序设计

主机应用程序使用Visual Basic6.0编译环境,主要是实现调用*.DLL中的函数,读取采集系统中的数据到计算机,对数据进行存储、显示处理结构及向采集系统发送控制命令等。

而在编写用户程序时,首先要建立与外设的连接,然后才能实施数据的传输。本设计使用Visual C++6.0编译环境中的API函数编译*.DLL连接程序文件:首先查找设备,打开设备的句柄,然后进行控制和读操作,最后关闭设备句柄。程序主要用到两个API函数CreatFile()和DeviceControl()。下面是一个读取外设数据的实例:
DNUCEXPORT int CALLBACK ReadData(unsigned char *pData)
{
ULONG nOutput;
DeviceIoControl(handle,
DRV_NUC_READ_DATA,
NULL,
0,
pData,
1024,
&nOutput,
NULL);
return 1;
}
4 结束语

本文所设计的采集系统已经在工程上应用,为及时查找被测物体工作过程中可能发生故障的原因,提供有效的测试手段,为产品设计与问题故障分析提供依据

上一页  [1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:287,101.60000 毫秒