ADT652驱动程序使用说明书.docx
- 文档编号:10995320
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:23
- 大小:21.57KB
ADT652驱动程序使用说明书.docx
《ADT652驱动程序使用说明书.docx》由会员分享,可在线阅读,更多相关《ADT652驱动程序使用说明书.docx(23页珍藏版)》请在冰豆网上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ADT652 驱动程序 使用 说明书