收藏 分销(赏)

驱动程序使用说明指导书.doc

上传人:a199****6536 文档编号:2582618 上传时间:2024-06-01 格式:DOC 页数:26 大小:110.54KB 下载积分:10 金币
下载 相关 举报
驱动程序使用说明指导书.doc_第1页
第1页 / 共26页
驱动程序使用说明指导书.doc_第2页
第2页 / 共26页


点击查看更多>>
资源描述
SBS ADT652卡 驱动程序包使用阐明书 目 录 SBS ADT652卡 驱动程序包使用阐明书 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/D 12 Ø 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/DFIFO数据标志 16 Ø ADT652_ADFIFOReset:复位A/DFIFO 16 Ø ReadIOPort:读取IO地址 16 Ø WriteIOPort:写入IO地址 17 Ø ADT652_GetFifo 17 三. 示例程序阐明 18 1) 硬件设立 18 2) 使用阐明 18  核心字: ADT652卡驱动、A/D变换、D/A变换、数字I/O、计数器/定期器 摘要: 本文档描述了SBS ADT652卡在Windows NT()下驱动程序用法,重要涉及了SBS ADT652卡初始化、加载、配备、A/D变换、D/A变换、I/O控制、计数/定期API函数接口。 缩微语:无 一. 简介 1) 产品名称 本文档描述对象是:SBS ADT652 Driver for Windows NT(). 2) 硬件简介 ADT652 模块化中速模仿输入模块可将与IBM PC 兼容PC/104 CPU 模块系统构成一种高性能数据采集与控制系统。构造紧凑,适于嵌入式与便携式应用ADT652 模块特点是: l 八/十六个单端模仿输入通道 l 12 位100KHz A/D 变换器 l ±5V ±10V 或0 到+10V 模仿输入量程可选 l 可用软件配备增益 l -5~+5V,-10~+10V,0~5V,0~10V模仿输出量程可选 l 24 通道基于uPD71055 芯片可编程数字量I/O l 三个独立16 位10MHz 定期器/计数器(或5MHz) 3) 开发目 本文描述是SBS ADT652卡在Windows NT()操作系统下驱动程序。 使用本文描述驱动程序,应用系统开发顾客可以迅速地把SBS ADT652卡集成到基于Windows NT()应用环境,屏蔽了实际硬件系统,通过驱动提供API函数接口,顾客可以更以便、快捷地实现面相应用开发,也可使应用系统具备较好可移植性。 4) 使用环境 操作系统:Windows XP 调试环境:Visual C++6.0 硬件环境:CDM1351-10D 、ADT652卡 驱动程序:SBS ADT652 Driver for Windows2K/XP V6.0 5) 有关产品 二. 驱动程序阐明 1) 文献列表 本驱动程序包提供如下文献: 1) ADT652CD1Sys.sys :该文献为驱动主体文献,包括所有API函数实现。 2) ADT652.dll :该文献为动态链接库文献。 3) ADT652.lib :该文献为静态链接库文献。 4) ADT652.h  :该文献为API函数声明头文献,在使用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- >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( ) 函数阐明: 该函数告知系统加载设备驱动,然后才干对其他API函数进行操作。 输入: 无 输出: 无 返回值:       成功返回标记此设备驱动句柄,失败返回INVALID_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) 函数阐明: 该函数对设备进行初始化,涉及设立设备基地址、中断号等。 输入: hDevice:从ADT652_DevLoad( )函数中返回句柄 BaseAddr:设备基地址 irq_chn:设备中断号 输出: 无 返回值: 成功返回1,失败返回0。 Ø ADT652_SetEvent:将告知事件发送到驱动程序 函数原型: int ADT600_SetEvent(HANDLE hDevice,HANDLE hEvent) 函数阐明: 该函数用来将告知事件发送到驱动程序。详细参照示例程序。 输入: hDevice:从ADT652_DevLoad( )函数中返回句柄 hEvent: 事件句柄 输出: 无 返回值: 成功返回0,失败返回非0错误值。 Ø ADT652_ConfigIOPorts:配备数字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芯片A口,1表达输入,0表达输出 Port1:71055芯片B口,1表达输入,0表达输出 Port2:71055芯片C口,1表达输入,0表达输出 输出: 无 返回值: 无 Ø ADT652_ReadDigitIO:读数字I/O口 函数原型: unsigned char    ADT652_ReadDigitIO(HANDLE hDevice,unsigned char InputPort); 函数阐明: 该函数对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(HANDLE hDevice,unsigned char OutputPort,unsigned char v); 函数阐明: 该函数对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(HANDLE hDevice) 函数阐明: 该函数用于清除中断。在中断产生后必要调用该函数。 输入: hDevice:从ADT652_DevLoad( )函数中返回句柄 输出: 无 返回值: 无 Ø 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个计数器/定期器,0表达计数器0,1表达计数器1,2表达计数器2(对于ADT652,第二个82C543个计数器/定期器分别表达为:3表达计数器0,4表达计数器1,5表达计数器2) Mode:82C54芯片工作方式,0~5分别表达方式0~方式5 输出: 无 返回值: 无 Ø 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个计数器/定期器,0表达计数器0,1表达计数器1,2表达计数器2(对于ADT652,第二个82C543个计数器/定期器分别表达为:3表达计数器0,4表达计数器1,5表达计数器2) Divisor: 16位计数器/定期器计数值 输出: 无 返回值: 无 Ø ADT652_ReadPITStatus:读取计数器/定期器状态 函数原型: char   ADT652_ReadPITStatus(HANDLE hDevice,unsigned char Timer) 函数阐明: 该函数对82C54芯片3个计数器/定期器单次计数状态进行读取(ADT652有2个82C54,共计6个数器/定期器)。 输入: hDevice:从ADT652_DevLoad( )函数中返回句柄 Timer:82C54芯片3个计数器/定期器,0表达计数器0,1表达计数器1,2表达计数器2(对于ADT652,第二个82C543个计数器/定期器分别表达为:3表达计数器0,4表达计数器1,5表达计数器2) 输出: 无 返回值: 单次计数结束返回1,否则返回0。 Ø ADT652_ClockReadBack:读回计数器/定期器计数值 函数原型: unsigned int ADT652_ClockReadBack(HANDLE hDevice,char Timer) 函数阐明: 该函数对82C54芯片3个计数器/定期器计数值进行读取(ADT652有2个82C54,共计6个数器/定期器)。 输入: hDevice:从ADT652_DevLoad( )函数中返回句柄 Timer:82C54芯片3个计数器/定期器,0表达计数器0,1表达计数器1,2表达计数器2(对于ADT652,第二个82C543个计数器/定期器分别表达为:3表达计数器0,4表达计数器1,5表达计数器2) 输出: 无 返回值: 返回读取计数器/定期器计数值。 Ø ADT652_ADSettings:设立模仿输入电压量程和极性 函数原型: void ADT652_ADSettings(HANDLE hDevice,float Range,char Polarity) 函数阐明: 该函数对模仿输入电压量程和极性进行设立。 输入: hDevice:从ADT652_DevLoad( )函数中返回句柄 Range:模仿输入电压量程,可输入5和10 Polarity:模仿输入电压极性,0表达单极性,1表达双极性 输出: 无 返回值: 无。 Ø ADT652_SetChannel:设立模仿输入通道 函数原型: void ADT652_SetChannel(HANDLE hDevice,unsigned int ChannelL,unsigned int ChannelH) 函数阐明: 该函数对模仿输入通道进行设立。 输入: hDevice:从ADT652_DevLoad( )函数中返回句柄 ChannelL:模仿输入低通道,可输入0~15,分别表达通道1~通道16 ChannelH:模仿输入高通道,可输入0~15,分别表达通道1~通道16 注:低通道和高通道相似表达同一通道。 输出: 无 返回值: 无。 Ø ADT652_EnableIRQ:设立中断使能 函数原型: void ADT652_EnableIRQ(HANDLE hDevice) 函数阐明: 该函数设立中断使能。 输入: hDevice:从ADT652_DevLoad( )函数中返回句柄 输出: 无 返回值: 无。 Ø ADT652_DisableIRQ:设立中断禁止 函数原型: void ADT652_DisableIRQ (HANDLE hDevice) 函数阐明: 该函数设立中断禁止。 输入: hDevice:从ADT652_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 转换数据有效表达: 当FIFOEn 为“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 选取等。 输入: 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代码 函数原型: void ADT652_WriteDataDA(HANDLE hDevice,unsigned int DAChannel,int DigitalValue) 函数阐明: 该函数向DA通道写DA代码。 输入: hDevice:从ADT652_DevLoad( )函数中返回句柄 DAChannel:DA通道,可输入0~3,分别表达通道0~通道3 DigitalValue: DA代码 输出: 无 返回值: 无 Ø 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_DevLoad( )函数中返回句柄 输出: 无 返回值: 有中断返回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变换状态。 输入: hDevice:从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 DigitalValue,int *Curcha) 函数阐明: 该函数用于将A/D变换数据转换为输入电压值。 输入: hDevice:从ADT652_DevLoad( )函数中返回句柄 DigitalValue:A/D变换数据 输出: *Curcha:指向当前采样通道 返回值: 返回转换后输入电压值。 Ø ADT652_ReadADFIFOFlag:读取A/DFIFO数据标志 函数原型: unsigned char ADT652_ReadADFIFOFlag(HANDLE hDevice) 函数阐明: 该函数用于读取A/DFIFO数据标志。 输入: hDevice:从ADT652_DevLoad( )函数中返回句柄 输出: 无 返回值: 返回1表达FIFO数据半满,返回2表达FIFO数据全满,返回3表达FIFO数据空。 Ø ADT652_ADFIFOReset:复位A/DFIFO 函数原型: void ADT652_ADFIFOReset(HANDLE hDevice) 函数阐明: 该函数用于复位A/DFIFO。 输入: hDevice:从ADT652_DevLoad( )函数中返回句柄 输出: 无 返回值: 无。 Ø ReadIOPort:读取IO地址 函数原型: unsigned char   ReadIOPort(HANDLE hDevice,unsigned int portAddr) 函数阐明: 该函数对指定IO地址进行读取。 输入: hDevice:从ADT652_DevLoad( )函数中返回句柄 portAddr:IO地址 输出: 无 返回值: 返回从指定IO地址读取值。 Ø WriteIOPort:写入IO地址 函数原型: void WriteIOPort(HANDLE hDevice,unsigned int portAddr,unsigned int byte) 函数阐明: 该函数对指定IO地址进行写入。 输入: hDevice:从ADT652_DevLoad( )函数中返回句柄 portAddr:IO地址 byte: 向指定IO地址写入值 输出: 无 返回值: 无 Ø ADT652_GetFifo 函数原型: BOOL ADT652_GetFifo(HANDLE hDevice,PUCHAR DataFifo ,USHORT DataNum); 函数阐明: 该函数直接提取FIFO数据。 输入: hDevice:从ADT652_DevLoad( )函数中返回句柄 DataFifo:接受FIFO数据数据空间; DataNum: 读取数据个数 输出: 无 返回值: 操作完毕返回TRUE 三. 示例程序阐明 项目文献Demo,涉及了SBS ADT652卡加载设备驱动、初始化、卸载设备驱动、A/D变换、I/O控制、计数等操作。 1) 硬件设立      在ADT652卡S1跳线上设立基地址为300H(出厂设立),在S2中断跳线上设立中断号为IRQ7,在S3跳线上设立成第一片82C54芯片内部三个计数器极联。在S5跳线上设立模仿输入电压量程为+/-10V。 2) 使用阐明 ⑴.运营ADT652_Demo.exe,屏幕上浮现一种对话框。 ⑵.程序会自动加载设备驱动; (3).数字I/O演示: A. 读数字I/O口 选取读操作(程序默以为读操作),选取要测试通道,程序会自动执行; B. 写数字I/O口 选取写操作,选取要测试通道,然后在数据框内写入数据,按回车键Enter即可; (4).A/D变换演示: 选取要测试通道,程序会去读取相应通道信息,然后显示在数据框内; (5).计数器演示: 程序开始运营计数器就开始工作,如果跳线和中断设立对的,数据框内会显示对的计数值; (6).测试完毕关闭对话框,程序自动卸载设备驱动。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 技术指导

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服