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

下载本文档

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

文档简介

SBSADT652卡驱动程序包使用说明书目录TOC\o"1-4"\h\zSBSADT652卡驱动程序包使用说明书 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:读数字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/D的FIFO数据标志 16 ADT652_ADFIFOReset:复位A/D的FIFO 16 ReadIOPort:读取IO地址 16 WriteIOPort:写入IO地址 17 ADT652_GetFifo 17三. 示例程序说明 181) 硬件设立 182) 使用说明 18

关键字:ADT652卡驱动、A/D变换、D/A变换、数字I/O、计数器/定期器摘要:本文档描述了SBSADT652卡在WindowsNT(2023)下驱动程序的使用方法,重要涉及了SBSADT652卡的初始化、加载、配置、A/D变换、D/A变换、I/O控制、计数/定期的API函数接口。缩微语:无

介绍产品名称本文档描述的对象是:SBSADT652DriverforWindowsNT(2023).硬件介绍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)开发目的本文描述的是SBSADT652卡在WindowsNT(2023)操作系统下的驱动程序。使用本文描述的驱动程序,应用系统开发用户可以快速地把SBSADT652卡集成到基于WindowsNT(2023)的应用环境,屏蔽了实际的硬件系统,通过驱动提供的API函数接口,用户可以更方便、快捷地实现面相应用的开发,也可使应用系统具有较好的可移植性。使用环境操作系统:WindowsXP调试环境:VisualC++6.0硬件环境:CDM1351-10D、ADT652卡驱动程序:SBSADT652DriverforWindows2K/XPV6.0相关产品

驱动程序说明文献列表本驱动程序包提供如下文献:ADT652CD1Sys.sys:该文献为驱动主体文献,包含所有API函数的实现。ADT652.dll:该文献为动态链接库文献。ADT652.lib:该文献为静态链接库文献。ADT652.h:该文献为API函数的声明头文献,在使用API函数之前必须被包含。ADT652CD1Sys.inf:该文献为设备信息文献。安装环节安装环节如下: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。

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口函数原型:voidADT652_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口函数原型:unsignedcharADT652_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口函数原型:voidADT652_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:清除中断函数原型:voidADT652_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:设立计数器/定期器计数值函数原型:voidADT652_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:读取计数器/定期器的状态函数原型:charADT652_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和10Polarity:模拟输入电压的极性,0表达单极性,1表达双极性输出:无返回值:无。ADT652_SetChannel:设立模拟输入通道函数原型:voidADT652_SetChannel(HANDLEhDevice,unsignedintChannelL,unsignedintChannelH)函数说明:该函数对模拟输入通道进行设立。输入:hDevice:从ADT652_DevLoad()函数中返回的句柄ChannelL:模拟输入低通道,可输入0~15,分别表达通道1~通道16ChannelH:模拟输入高通道,可输入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”置“2”置“4”置“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~通道3DigitalValue:DA代码输出:无返回值:无ADT652_ChannelSwitch:AD通道切换状态函数原型:unsignedcharADT652_ChannelSwitch(HANDLEhDevice)函数说明:该函数返回AD通道切换状态。输入:hDevice:从ADT652_DevLoad()函数中返回的句柄输出:无返回值:AD通道切换完毕返回0,否则返回1ADT652_IRQStatus:中断状态函数原型:unsignedcharADT652_IRQStatus(HANDLEhDevice)函数说明:该函数返回中断状态。输入:hDevice:从ADT652_DevLoad()函数中返回的句柄输出:无返回值:有中断返回1,否则返回0ADT652_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地址函数原型:unsignedcharReadIOP

温馨提示

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

评论

0/150

提交评论