ADT驱动程序使用说明书_第1页
ADT驱动程序使用说明书_第2页
ADT驱动程序使用说明书_第3页
ADT驱动程序使用说明书_第4页
ADT驱动程序使用说明书_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SBS ADT652卡 驱动程序包使用说明书目 录SBS ADT652卡 驱动程序包使用说明书1一.介绍41)产品名称42)硬件介绍43)开发目的44)使用环境45)相关产品4二.驱动程序说明51)文件列表52)安装步骤53)API函数6ØADT652_DevLoad:加载设备驱动6ØADT652_DevClose:卸载设备驱动6ØADT652_InitBoard:设备初始化6ØADT652_SetEvent:将通知事件发送到驱动程序7ØADT652_ConfigIOPorts:配置数字I/O口7ØADT652_ReadDigitIO

2、:读数字I/O口7ØADT652_WriteDigitIO:写数字I/O口8ØADT652_ClearIRQ:清除中断8ØADT652_ClockMode:设置计数器定时器工作方式9ØADT652_ClockDivisor:设置计数器定时器计数值9ØADT652_ReadPITStatus:读取计数器定时器的状态10ØADT652_ClockReadBack:读回计数器定时器的计数值10ØADT652_ADSettings:设置模拟输入电压的量程和极性10ØADT652_SetChannel:设置模拟输入通道11&

3、#216;ADT652_EnableIRQ:设置中断使能11ØADT652_DisableIRQ:设置中断禁止12ØADT652_SetIRQSource:选择中断源12ØADT652_ADConfig:配置A/D12ØADT652_WriteDataDA:向DA通道写DA代码13ØADT652_ChannelSwitch:AD通道切换状态14ØADT652_IRQStatus:中断状态14ØADT652_StartConversion:启动A/D变换14ØADT652_ConversionDone:监测A/D变换

4、的状态15ØADT652_ReadData:读取A/D变换的数据15ØADT652_DigitToSBS:将A/D变换的数据转换为输入电压值15ØADT652_ReadADFIFOFlag:读取A/D的FIFO数据标志16ØADT652_ADFIFOReset:复位A/D的FIFO16ØReadIOPort:读取IO地址16ØWriteIOPort:写入IO地址17ØADT652_GetFifo17三.示例程序说明181)硬件设置182)使用说明18关键字: ADT652卡驱动、A/D变换、D/A变换、数字I/O、计数器/定

5、时器摘要: 本文档描述了SBS ADT652卡在Windows NT(2000)下驱动程序的使用方法,主要包括了SBS ADT652卡的初始化、加载、配置、A/D变换、D/A变换、I/O控制、计数/定时的API函数接口。 缩微语:无一. 介绍1) 产品名称本文档描述的对象是:SBS ADT652 Driver for Windows NT(2000).2) 硬件介绍ADT652 模块化中速模拟输入模块可将与IBM PC 兼容的PC/104 CPU 模块系统构成一个高性能的数据采集与控制系统。结构紧凑,适于嵌入式与便携式应用的ADT652 模块的特点是:l 八/十六个单端模拟输入通道l 12 位

6、100KHz A/D 变换器l ±5V ±10V 或0 到+10V 模拟输入量程可选l 可用软件配置增益l -5+5V,-10+10V, 05V,010V模拟输出量程可选l 24 通道基于uPD71055 芯片的可编程数字量I/Ol 三个独立的16 位10MHz 定时器/计数器(或5MHz)3) 开发目的本文描述的是SBS ADT652卡在Windows NT(2000)操作系统下的驱动程序。使用本文描述的驱动程序,应用系统开发用户可以快速地把SBS ADT652卡集成到基于Windows NT(2000)的应用环境,屏蔽了实际的硬件系统,通过驱动提供的API函数接口,用户

7、可以更方便、快捷地实现面对应用的开发,也可使应用系统具有较好的可移植性。4) 使用环境操作系统:Windows XP调试环境:isual C+6.0硬件环境:CDM1351-10D 、ADT652卡驱动程序:SBS ADT652 Driver for Windows2K/XP V6.05) 相关产品 二. 驱动程序说明1) 文件列表本驱动程序包提供如下文件:1) ADT652CD1Sys.sys :该文件为驱动主体文件,包含所有API函数的实现。 2) ADT652.dll:该文件为动态链接库文件。3) ADT652.lib:该文件为静态链接库文件。4) ADT652.h :该文件为API函数

8、的声明头文件,在使用API函数之前必须被包含。5) ADT652CD1Sys.inf :该文件为设备信息文件。2) 安装步骤安装步骤如下: 1、在控制面板中选择添加新硬件2、添加新硬件3、显示所有设备4、从磁盘安装5、选择文件目录Driver下的ADT652CD1Sys.inf,进行安装6、配置资源,根据需要选择基地址、中断;需要注意,用中断7一定要关闭并口!7、重新启动系统8、将ADT652.dll, ADT652.lib和ADT652.h拷贝至你的应用程序所在目录下。在应用工程中引入ADT652.lib: A、如果你的ADT6520.lib放在VC标准的LIB文件夹中 单击Project-

9、 >Project Settings. 在link选卡的object/library modules中加上ADT652.lib即可 B. 如果你的ADT652.lib不是放在VC标准的LIB文件夹中 单击Project- >Add to Project- >files. 找到ADT652.lib文件,按OK 。3) API函数Ø ADT652_DevLoad:加载设备驱动函数原型:HANDLE ADT652_DevLoad( )函数说明:该函数通知系统加载设备驱动,然后才能对其它函数进行操作。输入:无输出:无返回值:成功返回标识此设备驱动的句柄,失败返回INVALI

10、D_HANDLE_VALUE。Ø ADT652_DevClose:卸载设备驱动函数原型:BOOL ADT652_DevClose(HANDLE hDevice)函数说明:该函数通知系统卸载设备驱动输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄输出:无返回值:成功返回1,失败返回0。Ø ADT652_InitBoard:设备初始化函数原型:BOOL ADT652_InitBoard (HANDLE hDevice,unsigned int BaseAddr,int irq_chn)函数说明:该函数对设备进行初始化,包括设置设备基地址、中断号等。输入

11、:hDevice:从ADT652_DevLoad( )函数中返回的句柄BaseAddr:设备基地址irq_chn:设备中断号输出:无返回值:成功返回1,失败返回0。Ø ADT652_SetEvent:将通知事件发送到驱动程序函数原型:int ADT600_SetEvent(HANDLE hDevice, HANDLE hEvent)函数说明:该函数用来将通知事件发送到驱动程序。具体参照示例程序。输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄hEvent: 事件句柄输出:无返回值:成功返回0,失败返回非0的错误值。Ø ADT652_ConfigIO

12、Ports:配置数字I/O口 函数原型:void ADT652_ConfigIOPorts(HANDLE hDevice,unsigned char Port0, unsigned char Port1,unsigned char Port2)函数说明:该函数对71055芯片的3个I/O口工作于模式0进行配置输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄Port0:71055芯片的口,表示输入,表示输出Port1:71055芯片的B口,表示输入,表示输出Port2:71055芯片的C口,表示输入,表示输出输出:无返回值:无Ø ADT652_ReadDigi

13、tIO:读数字I/O口 函数原型:unsigned char ADT652_ReadDigitIO(HANDLE hDevice,unsigned char InputPort);函数说明:该函数对71055芯片的3个I/O口进行读操作。输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄InputPort:71055芯片的3个I/O口,表示口,表示口,表示口输出:无返回值:返回从指定I/O口读出的值Ø ADT652_WriteDigitIO:写数字I/O口 函数原型:void ADT652_WriteDigitIO(HANDLE hDevice,unsigne

14、d char OutputPort, unsigned char v);函数说明:该函数对71055芯片的3个I/O口进行写操作。输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄OutputPort:71055芯片的3个I/O口,表示口,表示口,表示口v: 从指定I/O口写入的值 输出:无返回值:无Ø ADT652_ClearIRQ:清除中断 函数原型:void ADT652_ClearIRQ(HANDLE hDevice)函数说明:该函数用于清除中断。在中断产生后必须调用该函数。输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄输出

15、:无返回值:无Ø ADT652_ClockMode:设置计数器定时器工作方式 函数原型:void ADT652_ClockMode(HANDLE hDevice,unsigned char Clock, unsigned char Mode)函数说明:该函数对82C54芯片的3个计数器定时器的工作方式进行设置(ADT652有2个82C54,共计6个数器定时器)。输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄Clock:82C54芯片的3个计数器定时器,表示计数器,表示计数器,表示计数器(对于ADT652,第二个82C54的3个计数器定时器分别表示为:3表示

16、计数器,4表示计数器,5表示计数器)Mode:82C54芯片的工作方式,分别表示方式方式输出:无返回值:无Ø ADT652_ClockDivisor:设置计数器定时器计数值函数原型:void ADT652_ClockDivisor(HANDLE hDevice,unsigned char Clock, unsigned int Divisor)函数说明:该函数对82C54芯片的3个计数器定时器的计数值进行设置(ADT652有2个82C54,共计6个数器定时器)输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄Clock:82C54芯片的3个计数器定时器,表示计

17、数器,表示计数器,表示计数器(对于ADT652,第二个82C54的3个计数器定时器分别表示为:3表示计数器,4表示计数器,5表示计数器)Divisor: 16位计数器定时器的计数值 输出:无返回值:无Ø ADT652_ReadPITStatus:读取计数器定时器的状态函数原型:char ADT652_ReadPITStatus(HANDLE hDevice,unsigned char Timer)函数说明:该函数对82C54芯片的3个计数器定时器的单次计数状态进行读取(ADT652有2个82C54,共计6个数器定时器)。输入:hDevice:从ADT652_DevLoad( )函数中

18、返回的句柄Timer:82C54芯片的3个计数器定时器,表示计数器,表示计数器,表示计数器(对于ADT652,第二个82C54的3个计数器定时器分别表示为:3表示计数器,4表示计数器,5表示计数器)输出:无返回值:单次计数结束返回,否则返回。Ø ADT652_ClockReadBack:读回计数器定时器的计数值函数原型:unsigned int ADT652_ClockReadBack(HANDLE hDevice, char Timer)函数说明:该函数对82C54芯片的3个计数器定时器的计数值进行读取(ADT652有2个82C54,共计6个数器定时器)。输入:hDevice:从A

19、DT652_DevLoad( )函数中返回的句柄Timer:82C54芯片的3个计数器定时器,表示计数器,表示计数器,表示计数器(对于ADT652,第二个82C54的3个计数器定时器分别表示为:3表示计数器,4表示计数器,5表示计数器)输出:无返回值:返回读取的计数器定时器的计数值。Ø ADT652_ADSettings:设置模拟输入电压的量程和极性函数原型:void ADT652_ADSettings(HANDLE hDevice,float Range, char Polarity)函数说明:该函数对模拟输入电压的量程和极性进行设置。输入:hDevice:从ADT652_DevL

20、oad( )函数中返回的句柄Range:模拟输入电压的量程,可输入5和10Polarity:模拟输入电压的极性,0表示单极性,1表示双极性 输出:无返回值:无。Ø ADT652_SetChannel:设置模拟输入通道函数原型:void ADT652_SetChannel(HANDLE hDevice,unsigned int ChannelL, unsigned int ChannelH)函数说明:该函数对模拟输入通道进行设置。输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄ChannelL:模拟输入低通道, 可输入015,分别表示通道1通道16Channe

21、lH:模拟输入高通道, 可输入015,分别表示通道1通道16注:低通道和高通道相同表示同一通道。输出:无返回值:无。Ø ADT652_EnableIRQ:设置中断使能函数原型:void ADT652_EnableIRQ(HANDLE hDevice)函数说明:该函数设置中断使能。输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄输出:无返回值:无。Ø ADT652_DisableIRQ:设置中断禁止函数原型:void ADT652_DisableIRQ (HANDLE hDevice)函数说明:该函数设置中断禁止。输入:hDevice:从ADT652

22、_DevLoad( )函数中返回的句柄输出:无返回值:无。Ø ADT652_SetIRQSource:选择中断源函数原型:void ADT652_SetIRQSource(HANDLE hDevice,unsigned char IrqSou)函数说明:该函数选择中断源。输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄IrqSou:0表示AD转换数据有效,1表示计数/定时器0输出,2表示外部中断,3表示计数/定时器1输出,4表示计数/定时器3输出,5表示计数/定时器4输出,6表示计数/定时器5输出。输出:无返回值:无。注: AD 转换数据有效表示:当FIFO

23、En 为“1”时,FIFO 半满标记(HF)触发中断当FIFOEn 为“0”时,AD 转换结束触发中断 FIFOEn是函数ADT652_ADConfig的参数Ø ADT652_ADConfig:配置A/D函数原型:void ADT652_ADConfig(HANDLE hDevice unsigned char Timer2Con, unsigned char DMACon,unsigned char ADTrig,unsigned char GainCon,unsigned char FIFOEn);函数说明:该函数用来配置A/D的转换触发方式、可编程增益放大控制和FIFO 选择等

24、。输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄 Timer2Con:A/D转换计数/定时器2(OUT2)触发使能控制。置“0”时为不允许计数/定时器2(OUT2)触发(缺省)。置“1”时为允许计数/定时器2(OUT2)触发。DMACon: A/D转换DMA传送使能控制。置“0”时为不允许DMA(缺省)。置“1”时为允许DMA。ADTrig: A/D转换触发方式配置。置“0”时为软件触发。置“1”时为硬件触发。GainCon: 可编程增益放大控制。 置“1”时增益为1。 置“2”时增益为2。 置“4”时增益为4。 置“8”时增益为8。通过增益放大可对一些较弱信号进行

25、采集,提高其精度。 FOFIEn:AD 转换数据FIFO 选择置“0”时为FIFO 禁止。置“1”时为AD 转换的数据进入FIFO。输出:无返回值:无。Ø ADT652_WriteDataDA:向DA通道写DA代码函数原型:void ADT652_WriteDataDA(HANDLE hDevice,unsigned int DAChannel, int DigitalValue)函数说明:该函数向DA通道写DA代码。输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄DAChannel:DA通道,可输入03,分别表示通道0通道3DigitalValue: DA

26、代码输出:无返回值:无Ø ADT652_ChannelSwitch:AD通道切换状态函数原型:unsigned char ADT652_ChannelSwitch(HANDLE hDevice)函数说明:该函数返回AD通道切换状态。输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄输出:无返回值:AD通道切换完成返回0,否则返回1Ø ADT652_IRQStatus:中断状态函数原型:unsigned char ADT652_IRQStatus(HANDLE hDevice)函数说明:该函数返回中断状态。输入:hDevice:从ADT652_DevL

27、oad( )函数中返回的句柄输出:无返回值:有中断返回1,否则返回0Ø ADT652_StartConversion:启动A/D变换函数原型:void ADT652_StartConversion(HANDLE hDevice)函数说明:该函数用于软件启动A/D变换。输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄输出:无返回值:无。Ø ADT652_ConversionDone:监测A/D变换的状态函数原型:char ADT652_ConversionDone(HANDLE hDevice)函数说明:该函数用于监测A/D变换的状态。输入:hDev

28、ice:从ADT652_DevLoad( )函数中返回的句柄输出:无返回值:A/D变换结束返回0, 否则返回1。Ø ADT652_ReadData:读取A/D变换的数据函数原型:int ADT652_ReadData(HANDLE hDevice)函数说明:该函数用于读取A/D变换的数据。输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄输出:无返回值:返回读取的A/D变换的数据。Ø ADT652_DigitToSBS:将A/D变换的数据转换为输入电压值 函数原型:float ADT652_DigitToSBS(HANDLE hDevice,int

29、DigitalValue,int *Curcha)函数说明:该函数用于将A/D变换的数据转换为输入电压值。输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄DigitalValue:A/D变换的数据输出:*Curcha:指向当前采样通道返回值:返回转换后的输入电压值。Ø ADT652_ReadADFIFOFlag:读取A/D的FIFO数据标志函数原型:unsigned char ADT652_ReadADFIFOFlag(HANDLE hDevice)函数说明:该函数用于读取A/D的FIFO数据标志。输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄输出:无返回值:返回1表示FIFO数据半满,返回2表示FIFO数据全满,返回3表示FIFO数据空。Ø ADT652_ADFIFOReset:复位A/D的FIFO函数原型:void ADT652_ADFIFOReset(HANDLE hDevice)函数说明:该函数用于复位A/D的FIFO。输入:hDevice:从ADT652_DevLoad( )函数中返回的句柄输出:无返回值:无。Ø ReadIOPort:读取IO地址函数原型:unsigned charReadI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论