ADT652驱动程序使用说明书.docx

上传人:b****8 文档编号:10995320 上传时间:2023-02-24 格式:DOCX 页数:23 大小:21.57KB
下载 相关 举报
ADT652驱动程序使用说明书.docx_第1页
第1页 / 共23页
ADT652驱动程序使用说明书.docx_第2页
第2页 / 共23页
ADT652驱动程序使用说明书.docx_第3页
第3页 / 共23页
ADT652驱动程序使用说明书.docx_第4页
第4页 / 共23页
ADT652驱动程序使用说明书.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

ADT652驱动程序使用说明书.docx

《ADT652驱动程序使用说明书.docx》由会员分享,可在线阅读,更多相关《ADT652驱动程序使用说明书.docx(23页珍藏版)》请在冰豆网上搜索。

ADT652驱动程序使用说明书.docx

ADT652驱动程序使用说明书

SBSADT652卡驱动程序包使用说明书

目录

SBSADT652卡驱动程序包使用说明书1

一.介绍4

1)产品名称4

2)硬件介绍4

3)开发目的4

4)使用环境4

5)相关产品4

二.驱动程序说明5

1)文件列表5

2)安装步骤5

3)API函数6

ADT652_DevLoad:

加载设备驱动6

ADT652_DevClose:

卸载设备驱动6

ADT652_InitBoard:

设备初始化6

ADT652_SetEvent:

将通知事件发送到驱动程序7

ADT652_ConfigIOPorts:

配置数字I/O口7

ADT652_ReadDigitIO:

读数字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

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变换的状态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

三.示例程序说明18

1)硬件设置18

2)使用说明18

 

关键字:

ADT652卡驱动、A/D变换、D/A变换、数字I/O、计数器/定时器

摘要:

本文档描述了SBSADT652卡在WindowsNT(2000)下驱动程序的使用方法,主要包括了SBSADT652卡的初始化、加载、配置、A/D变换、D/A变换、I/O控制、计数/定时的API函数接口。

缩微语:

一.介绍

1)产品名称

本文档描述的对象是:

SBSADT652DriverforWindowsNT(2000).

2)硬件介绍

ADT652模块化中速模拟输入模块可将与IBMPC兼容的PC/104CPU模块系统构成一个高性能的数据采集与控制系统。

结构紧凑,适于嵌入式与便携式应用的ADT652模块的特点是:

●八/十六个单端模拟输入通道

●12位100KHzA/D变换器

●±5V±10V或0到+10V模拟输入量程可选

●可用软件配置增益

●-5~+5V,-10~+10V,0~5V,0~10V模拟输出量程可选

●24通道基于uPD71055芯片的可编程数字量I/O

●三个独立的16位10MHz定时器/计数器(或5MHz)

3)开发目的

本文描述的是SBSADT652卡在WindowsNT(2000)操作系统下的驱动程序。

使用本文描述的驱动程序,应用系统开发用户可以快速地把SBSADT652卡集成到基于WindowsNT(2000)的应用环境,屏蔽了实际的硬件系统,通过驱动提供的API函数接口,用户可以更方便、快捷地实现面对应用的开发,也可使应用系统具有较好的可移植性。

4)使用环境

操作系统:

WindowsXP

调试环境:

VisualC++6.0

硬件环境:

CDM1351-10D、ADT652卡

驱动程序:

SBSADT652DriverforWindows2K/XPV6.0

5)相关产品

二.

驱动程序说明

6)文件列表

本驱动程序包提供如下文件:

1)ADT652CD1Sys.sys:

该文件为驱动主体文件,包含所有API函数的实现。

2)ADT652.dll :

该文件为动态链接库文件。

3)ADT652.lib :

该文件为静态链接库文件。

4)ADT652.h :

该文件为API函数的声明头文件,在使用API函数之前必须被包含。

5)ADT652CD1Sys.inf:

该文件为设备信息文件。

7)安装步骤

安装步骤如下:

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->ProjectSettings...

在link选卡的object/librarymodules中加上ADT652.lib即可

B.如果你的ADT652.lib不是放在VC标准的LIB文件夹中

单击Project->AddtoProject->files...

找到ADT652.lib文件,按OK。

8)API函数

ØADT652_DevLoad:

加载设备驱动

函数原型:

HANDLEADT652_DevLoad()

函数说明:

该函数通知系统加载设备驱动,然后才能对其它API函数进行操作。

输入:

输出:

返回值:

      成功返回标识此设备驱动的句柄,失败返回INVALID_HANDLE_VALUE。

ØADT652_DevClose:

卸载设备驱动

函数原型:

BOOLADT652_DevClose(HANDLEhDevice)

函数说明:

该函数通知系统卸载设备驱动.

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

输出:

返回值:

成功返回1,失败返回0。

ØADT652_InitBoard:

设备初始化

函数原型:

BOOLADT652_InitBoard(HANDLEhDevice,unsignedintBaseAddr,intirq_chn)

函数说明:

该函数对设备进行初始化,包括设置设备基地址、中断号等。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

BaseAddr:

设备基地址

irq_chn:

设备中断号

输出:

返回值:

成功返回1,失败返回0。

ØADT652_SetEvent:

将通知事件发送到驱动程序

函数原型:

intADT600_SetEvent(HANDLEhDevice,HANDLEhEvent)

函数说明:

该函数用来将通知事件发送到驱动程序。

具体参照示例程序。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

hEvent:

事件句柄

输出:

返回值:

成功返回0,失败返回非0的错误值。

ØADT652_ConfigIOPorts:

配置数字I/O口

函数原型:

void ADT652_ConfigIOPorts(HANDLEhDevice,unsignedcharPort0,unsignedcharPort1,unsignedcharPort2)

函数说明:

该函数对71055芯片的3个I/O口工作于模式0进行配置

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

Port0:

71055芯片的A口,1表示输入,0表示输出

Port1:

71055芯片的B口,1表示输入,0表示输出

Port2:

71055芯片的C口,1表示输入,0表示输出

输出:

返回值:

ØADT652_ReadDigitIO:

读数字I/O口

函数原型:

unsignedchar  ADT652_ReadDigitIO(HANDLEhDevice,unsignedcharInputPort);

函数说明:

该函数对71055芯片的3个I/O口进行读操作。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

InputPort:

71055芯片的3个I/O口,0表示A口,1表示B口,2表示C口

输出:

返回值:

返回从指定I/O口读出的值

ØADT652_WriteDigitIO:

写数字I/O口

函数原型:

void   ADT652_WriteDigitIO(HANDLEhDevice,unsignedcharOutputPort,unsignedcharv);

函数说明:

该函数对71055芯片的3个I/O口进行写操作。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

OutputPort:

71055芯片的3个I/O口,0表示A口,1表示B口,2表示C口

v:

从指定I/O口写入的值

输出:

返回值:

ØADT652_ClearIRQ:

清除中断

函数原型:

void ADT652_ClearIRQ(HANDLEhDevice)

函数说明:

该函数用于清除中断。

在中断产生后必须调用该函数。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

输出:

返回值:

ØADT652_ClockMode:

设置计数器/定时器工作方式

函数原型:

voidADT652_ClockMode(HANDLEhDevice,unsignedcharClock,unsignedcharMode)

函数说明:

该函数对82C54芯片的3个计数器/定时器的工作方式进行设置(ADT652有2个82C54,共计6个数器/定时器)。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

Clock:

82C54芯片的3个计数器/定时器,0表示计数器0,1表示计数器1,2表示计数器2(对于ADT652,第二个82C54的3个计数器/定时器分别表示为:

3表示计数器0,4表示计数器1,5表示计数器2)

Mode:

82C54芯片的工作方式,0~5分别表示方式0~方式5

输出:

返回值:

ØADT652_ClockDivisor:

设置计数器/定时器计数值

函数原型:

void ADT652_ClockDivisor(HANDLEhDevice,unsignedcharClock,unsignedintDivisor)

函数说明:

该函数对82C54芯片的3个计数器/定时器的计数值进行设置(ADT652有2个82C54,共计6个数器/定时器)

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

Clock:

82C54芯片的3个计数器/定时器,0表示计数器0,1表示计数器1,2表示计数器2(对于ADT652,第二个82C54的3个计数器/定时器分别表示为:

3表示计数器0,4表示计数器1,5表示计数器2)

Divisor:

16位计数器/定时器的计数值

输出:

返回值:

ØADT652_ReadPITStatus:

读取计数器/定时器的状态

函数原型:

char  ADT652_ReadPITStatus(HANDLEhDevice,unsignedcharTimer)

函数说明:

该函数对82C54芯片的3个计数器/定时器的单次计数状态进行读取(ADT652有2个82C54,共计6个数器/定时器)。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

Timer:

82C54芯片的3个计数器/定时器,0表示计数器0,1表示计数器1,2表示计数器2(对于ADT652,第二个82C54的3个计数器/定时器分别表示为:

3表示计数器0,4表示计数器1,5表示计数器2)

输出:

返回值:

单次计数结束返回1,否则返回0。

ØADT652_ClockReadBack:

读回计数器/定时器的计数值

函数原型:

unsignedintADT652_ClockReadBack(HANDLEhDevice,charTimer)

函数说明:

该函数对82C54芯片的3个计数器/定时器的计数值进行读取(ADT652有2个82C54,共计6个数器/定时器)。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

Timer:

82C54芯片的3个计数器/定时器,0表示计数器0,1表示计数器1,2表示计数器2(对于ADT652,第二个82C54的3个计数器/定时器分别表示为:

3表示计数器0,4表示计数器1,5表示计数器2)

输出:

返回值:

返回读取的计数器/定时器的计数值。

ØADT652_ADSettings:

设置模拟输入电压的量程和极性

函数原型:

voidADT652_ADSettings(HANDLEhDevice,floatRange,charPolarity)

函数说明:

该函数对模拟输入电压的量程和极性进行设置。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

Range:

模拟输入电压的量程,可输入5和10

Polarity:

模拟输入电压的极性,0表示单极性,1表示双极性

输出:

返回值:

无。

ØADT652_SetChannel:

设置模拟输入通道

函数原型:

voidADT652_SetChannel(HANDLEhDevice,unsignedintChannelL,unsignedintChannelH)

函数说明:

该函数对模拟输入通道进行设置。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

ChannelL:

模拟输入低通道,可输入0~15,分别表示通道1~通道16

ChannelH:

模拟输入高通道,可输入0~15,分别表示通道1~通道16

注:

低通道和高通道相同表示同一通道。

输出:

返回值:

无。

ØADT652_EnableIRQ:

设置中断使能

函数原型:

voidADT652_EnableIRQ(HANDLEhDevice)

函数说明:

该函数设置中断使能。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

输出:

返回值:

无。

ØADT652_DisableIRQ:

设置中断禁止

函数原型:

voidADT652_DisableIRQ(HANDLEhDevice)

函数说明:

该函数设置中断禁止。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

输出:

返回值:

无。

ØADT652_SetIRQSource:

选择中断源

函数原型:

voidADT652_SetIRQSource(HANDLEhDevice,unsignedcharIrqSou)

函数说明:

该函数选择中断源。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

IrqSou:

0表示AD转换数据有效,1表示计数/定时器0输出,2表示外部中断,3表示计数/定时器1输出,4表示计数/定时器3输出,5表示计数/定时器4输出,6表示计数/定时器5输出。

输出:

返回值:

无。

注:

AD转换数据有效表示:

当FIFOEn为“1”时,FIFO半满标记(HF)触发中断

当FIFOEn为“0”时,AD转换结束触发中断

FIFOEn是函数ADT652_ADConfig的参数

ØADT652_ADConfig:

配置A/D

函数原型:

voidADT652_ADConfig(HANDLEhDeviceunsignedcharTimer2Con,unsignedcharDMACon,unsignedcharADTrig,unsignedcharGainCon,unsignedcharFIFOEn);

函数说明:

该函数用来配置A/D的转换触发方式、可编程增益放大控制和FIFO选择等。

输入:

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。

通过增益放大可对一些较弱信号进行采集,提高其精度。

FOFIEn:

AD转换数据FIFO选择

置“0”时为FIFO禁止。

置“1”时为AD转换的数据进入FIFO。

输出:

返回值:

无。

ØADT652_WriteDataDA:

向DA通道写DA代码

函数原型:

voidADT652_WriteDataDA(HANDLEhDevice,unsignedintDAChannel,intDigitalValue)

函数说明:

该函数向DA通道写DA代码。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

DAChannel:

DA通道,可输入0~3,分别表示通道0~通道3

DigitalValue:

DA代码

输出:

返回值:

ØADT652_ChannelSwitch:

AD通道切换状态

函数原型:

unsignedcharADT652_ChannelSwitch(HANDLEhDevice)

函数说明:

该函数返回AD通道切换状态。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

输出:

返回值:

AD通道切换完成返回0,否则返回1

ØADT652_IRQStatus:

中断状态

函数原型:

unsignedcharADT652_IRQStatus(HANDLEhDevice)

函数说明:

该函数返回中断状态。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

输出:

返回值:

有中断返回1,否则返回0

ØADT652_StartConversion:

启动A/D变换

函数原型:

voidADT652_StartConversion(HANDLEhDevice)

函数说明:

该函数用于软件启动A/D变换。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

输出:

返回值:

无。

ØADT652_ConversionDone:

监测A/D变换的状态

函数原型:

charADT652_ConversionDone(HANDLEhDevice)

函数说明:

该函数用于监测A/D变换的状态。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

输出:

返回值:

A/D变换结束返回0,否则返回1。

ØADT652_ReadData:

读取A/D变换的数据

函数原型:

intADT652_ReadData(HANDLEhDevice)

函数说明:

该函数用于读取A/D变换的数据。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

输出:

返回值:

返回读取的A/D变换的数据。

ØADT652_DigitToSBS:

将A/D变换的数据转换为输入电压值

函数原型:

floatADT652_DigitToSBS(HANDLEhDevice,intDigitalValue,int*Curcha)

函数说明:

该函数用于将A/D变换的数据转换为输入电压值。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

DigitalValue:

A/D变换的数据

输出:

*Curcha:

指向当前采样通道

返回值:

返回转换后的输入电压值。

ØADT652_ReadADFIFOFlag:

读取A/D的FIFO数据标志

函数原型:

unsignedcharADT652_ReadADFIFOFlag(HANDLEhDevice)

函数说明:

该函数用于读取A/D的FIFO数据标志。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

输出:

返回值:

返回1表示FIFO数据半满,返回2表示FIFO数据全满,返回3表示FIFO数据空。

ØADT652_ADFIFOReset:

复位A/D的FIFO

函数原型:

voidADT652_ADFIFOReset(HANDLEhDevice)

函数说明:

该函数用于复位A/D的FIFO。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

输出:

返回值:

无。

ØReadIOPort:

读取IO地址

函数原型:

unsignedchar   ReadIOPort(HANDLEhDevice,unsignedintportAddr)

函数说明:

该函数对指定的IO地址进行读取。

输入:

hDevice:

从ADT652_DevLoad()函数中返回的句柄

portAddr:

IO地址

输出:

返回值:

返回从指定的IO地址读取的值。

ØWriteIOPort:

写入IO地址

函数原型:

voidWriteIOPort(HANDLEhDevice,unsigned

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1