驅動程序使用說明書_第1頁
驅動程序使用說明書_第2頁
驅動程序使用說明書_第3頁
驅動程序使用說明書_第4頁
驅動程序使用說明書_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

SBSADT652卡驅動程序包使用說明書目錄TOC\o"1-4"\h\zSBSADT652卡驅動程序包使用說明書 1一. 介紹 41) 產品名稱 42) 硬件介紹 43) 開發(fā)目的 44) 使用環(huán)境 45) 相關產品 4二. 驅動程序說明 51) 文獻列表 52) 安裝環(huán)節(jié) 53) API函數(shù) 6 ADT652_DevLoad:加載設備驅動 6 ADT652_DevClose:卸載設備驅動 6 ADT652_InitBoard:設備初始化 6 ADT652_SetEvent:將告知事件發(fā)送到驅動程序 7 ADT652_ConfigIOPorts:配置數(shù)字I/O口 7 ADT652_ReadDigitIO:讀數(shù)字I/O口 7 ADT652_WriteDigitIO:寫數(shù)字I/O口 8 ADT652_ClearIRQ:清除中斷 8 ADT652_ClockMode:設立計數(shù)器/定期器工作方式 9 ADT652_ClockDivisor:設立計數(shù)器/定期器計數(shù)值 9 ADT652_ReadPITStatus:讀取計數(shù)器/定期器的狀態(tài) 10 ADT652_ClockReadBack:讀回計數(shù)器/定期器的計數(shù)值 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通道切換狀態(tài) 14 ADT652_IRQStatus:中斷狀態(tài) 14 ADT652_StartConversion:啟動A/D變換 14 ADT652_ConversionDone:監(jiān)測A/D變換的狀態(tài) 15 ADT652_ReadData:讀取A/D變換的數(shù)據 15 ADT652_DigitToSBS:將A/D變換的數(shù)據轉換為輸入電壓值 15 ADT652_ReadADFIFOFlag:讀取A/D的FIFO數(shù)據標志 16 ADT652_ADFIFOReset:復位A/D的FIFO 16 ReadIOPort:讀取IO地址 16 WriteIOPort:寫入IO地址 17 ADT652_GetFifo 17三. 示例程序說明 181) 硬件設立 182) 使用說明 18

關鍵字:ADT652卡驅動、A/D變換、D/A變換、數(shù)字I/O、計數(shù)器/定期器摘要:本文檔描述了SBSADT652卡在WindowsNT(2023)下驅動程序的使用方法,重要涉及了SBSADT652卡的初始化、加載、配置、A/D變換、D/A變換、I/O控制、計數(shù)/定期的API函數(shù)接口??s微語:無

介紹產品名稱本文檔描述的對象是:SBSADT652DriverforWindowsNT(2023).硬件介紹ADT652模塊化中速模擬輸入模塊可將與IBMPC兼容的PC/104CPU模塊系統(tǒng)構成一個高性能的數(shù)據采集與控制系統(tǒng)。結構緊湊,適于嵌入式與便攜式應用的ADT652模塊的特點是:八/十六個單端模擬輸入通道12位100KHzA/D變換器±5V±10V或0到+10V模擬輸入量程可選可用軟件配置增益-5~+5V,-10~+10V,0~5V,0~10V模擬輸出量程可選24通道基于uPD71055芯片的可編程數(shù)字量I/O三個獨立的16位10MHz定期器/計數(shù)器(或5MHz)開發(fā)目的本文描述的是SBSADT652卡在WindowsNT(2023)操作系統(tǒng)下的驅動程序。使用本文描述的驅動程序,應用系統(tǒng)開發(fā)用戶可以快速地把SBSADT652卡集成到基于WindowsNT(2023)的應用環(huán)境,屏蔽了實際的硬件系統(tǒng),通過驅動提供的API函數(shù)接口,用戶可以更方便、快捷地實現(xiàn)面相應用的開發(fā),也可使應用系統(tǒng)具有較好的可移植性。使用環(huán)境操作系統(tǒng):WindowsXP調試環(huán)境:VisualC++6.0硬件環(huán)境:CDM1351-10D、ADT652卡驅動程序:SBSADT652DriverforWindows2K/XPV6.0相關產品

驅動程序說明文獻列表本驅動程序包提供如下文獻:ADT652CD1Sys.sys:該文獻為驅動主體文獻,包含所有API函數(shù)的實現(xiàn)。ADT652.dll:該文獻為動態(tài)鏈接庫文獻。ADT652.lib:該文獻為靜態(tài)鏈接庫文獻。ADT652.h:該文獻為API函數(shù)的聲明頭文獻,在使用API函數(shù)之前必須被包含。ADT652CD1Sys.inf:該文獻為設備信息文獻。安裝環(huán)節(jié)安裝環(huán)節(jié)如下:1、在控制面板中選擇添加新硬件2、添加新硬件3、顯示所有設備4、從磁盤安裝5、選擇文獻目錄Driver下的ADT652CD1Sys.inf,進行安裝6、配置資源,根據需要選擇基地址、中斷;需要注意,用中斷7一定要關閉并口!7、重新啟動系統(tǒng)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函數(shù)ADT652_DevLoad:加載設備驅動函數(shù)原型:HANDLEADT652_DevLoad()函數(shù)說明:該函數(shù)告知系統(tǒng)加載設備驅動,然后才干對其它API函數(shù)進行操作。輸入:無輸出:無返回值:成功返回標記此設備驅動的句柄,失敗返回INVALID_HANDLE_VALUE。ADT652_DevClose:卸載設備驅動函數(shù)原型:BOOLADT652_DevClose(HANDLEhDevice)函數(shù)說明:該函數(shù)告知系統(tǒng)卸載設備驅動.輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄輸出:無返回值:成功返回1,失敗返回0。ADT652_InitBoard:設備初始化函數(shù)原型:BOOLADT652_InitBoard(HANDLEhDevice,unsignedintBaseAddr,intirq_chn)函數(shù)說明:該函數(shù)對設備進行初始化,涉及設立設備基地址、中斷號等。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄BaseAddr:設備基地址irq_chn:設備中斷號輸出:無返回值:成功返回1,失敗返回0。ADT652_SetEvent:將告知事件發(fā)送到驅動程序函數(shù)原型:intADT600_SetEvent(HANDLEhDevice,HANDLEhEvent)函數(shù)說明:該函數(shù)用來將告知事件發(fā)送到驅動程序。具體參照示例程序。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄hEvent:事件句柄輸出:無返回值:成功返回0,失敗返回非0的錯誤值。ADT652_ConfigIOPorts:配置數(shù)字I/O口函數(shù)原型:voidADT652_ConfigIOPorts(HANDLEhDevice,unsignedcharPort0,unsignedcharPort1,unsignedcharPort2)函數(shù)說明:該函數(shù)對71055芯片的3個I/O口工作于模式0進行配置輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄Port0:71055芯片的A口,1表達輸入,0表達輸出Port1:71055芯片的B口,1表達輸入,0表達輸出Port2:71055芯片的C口,1表達輸入,0表達輸出輸出:無返回值:無ADT652_ReadDigitIO:讀數(shù)字I/O口函數(shù)原型:unsignedcharADT652_ReadDigitIO(HANDLEhDevice,unsignedcharInputPort);函數(shù)說明:該函數(shù)對71055芯片的3個I/O口進行讀操作。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄InputPort:71055芯片的3個I/O口,0表達A口,1表達B口,2表達C口輸出:無返回值:返回從指定I/O口讀出的值ADT652_WriteDigitIO:寫數(shù)字I/O口函數(shù)原型:voidADT652_WriteDigitIO(HANDLEhDevice,unsignedcharOutputPort,unsignedcharv);函數(shù)說明:該函數(shù)對71055芯片的3個I/O口進行寫操作。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄OutputPort:71055芯片的3個I/O口,0表達A口,1表達B口,2表達C口v:從指定I/O口寫入的值輸出:無返回值:無ADT652_ClearIRQ:清除中斷函數(shù)原型:voidADT652_ClearIRQ(HANDLEhDevice)函數(shù)說明:該函數(shù)用于清除中斷。在中斷產生后必須調用該函數(shù)。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄輸出:無返回值:無ADT652_ClockMode:設立計數(shù)器/定期器工作方式函數(shù)原型:voidADT652_ClockMode(HANDLEhDevice,unsignedcharClock,unsignedcharMode)函數(shù)說明:該函數(shù)對82C54芯片的3個計數(shù)器/定期器的工作方式進行設立(ADT652有2個82C54,共計6個數(shù)器/定期器)。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄Clock:82C54芯片的3個計數(shù)器/定期器,0表達計數(shù)器0,1表達計數(shù)器1,2表達計數(shù)器2(對于ADT652,第二個82C54的3個計數(shù)器/定期器分別表達為:3表達計數(shù)器0,4表達計數(shù)器1,5表達計數(shù)器2)Mode:82C54芯片的工作方式,0~5分別表達方式0~方式5輸出:無返回值:無ADT652_ClockDivisor:設立計數(shù)器/定期器計數(shù)值函數(shù)原型:voidADT652_ClockDivisor(HANDLEhDevice,unsignedcharClock,unsignedintDivisor)函數(shù)說明:該函數(shù)對82C54芯片的3個計數(shù)器/定期器的計數(shù)值進行設立(ADT652有2個82C54,共計6個數(shù)器/定期器)輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄Clock:82C54芯片的3個計數(shù)器/定期器,0表達計數(shù)器0,1表達計數(shù)器1,2表達計數(shù)器2(對于ADT652,第二個82C54的3個計數(shù)器/定期器分別表達為:3表達計數(shù)器0,4表達計數(shù)器1,5表達計數(shù)器2)Divisor:16位計數(shù)器/定期器的計數(shù)值輸出:無返回值:無ADT652_ReadPITStatus:讀取計數(shù)器/定期器的狀態(tài)函數(shù)原型:charADT652_ReadPITStatus(HANDLEhDevice,unsignedcharTimer)函數(shù)說明:該函數(shù)對82C54芯片的3個計數(shù)器/定期器的單次計數(shù)狀態(tài)進行讀?。ˋDT652有2個82C54,共計6個數(shù)器/定期器)。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄Timer:82C54芯片的3個計數(shù)器/定期器,0表達計數(shù)器0,1表達計數(shù)器1,2表達計數(shù)器2(對于ADT652,第二個82C54的3個計數(shù)器/定期器分別表達為:3表達計數(shù)器0,4表達計數(shù)器1,5表達計數(shù)器2)輸出:無返回值:單次計數(shù)結束返回1,否則返回0。ADT652_ClockReadBack:讀回計數(shù)器/定期器的計數(shù)值函數(shù)原型:unsignedintADT652_ClockReadBack(HANDLEhDevice,charTimer)函數(shù)說明:該函數(shù)對82C54芯片的3個計數(shù)器/定期器的計數(shù)值進行讀?。ˋDT652有2個82C54,共計6個數(shù)器/定期器)。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄Timer:82C54芯片的3個計數(shù)器/定期器,0表達計數(shù)器0,1表達計數(shù)器1,2表達計數(shù)器2(對于ADT652,第二個82C54的3個計數(shù)器/定期器分別表達為:3表達計數(shù)器0,4表達計數(shù)器1,5表達計數(shù)器2)輸出:無返回值:返回讀取的計數(shù)器/定期器的計數(shù)值。ADT652_ADSettings:設立模擬輸入電壓的量程和極性函數(shù)原型:voidADT652_ADSettings(HANDLEhDevice,floatRange,charPolarity)函數(shù)說明:該函數(shù)對模擬輸入電壓的量程和極性進行設立。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄Range:模擬輸入電壓的量程,可輸入5和10Polarity:模擬輸入電壓的極性,0表達單極性,1表達雙極性輸出:無返回值:無。ADT652_SetChannel:設立模擬輸入通道函數(shù)原型:voidADT652_SetChannel(HANDLEhDevice,unsignedintChannelL,unsignedintChannelH)函數(shù)說明:該函數(shù)對模擬輸入通道進行設立。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄ChannelL:模擬輸入低通道,可輸入0~15,分別表達通道1~通道16ChannelH:模擬輸入高通道,可輸入0~15,分別表達通道1~通道16注:低通道和高通道相同表達同一通道。輸出:無返回值:無。ADT652_EnableIRQ:設立中斷使能函數(shù)原型:voidADT652_EnableIRQ(HANDLEhDevice)函數(shù)說明:該函數(shù)設立中斷使能。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄輸出:無返回值:無。ADT652_DisableIRQ:設立中斷嚴禁函數(shù)原型:voidADT652_DisableIRQ(HANDLEhDevice)函數(shù)說明:該函數(shù)設立中斷嚴禁。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄輸出:無返回值:無。ADT652_SetIRQSource:選擇中斷源函數(shù)原型:voidADT652_SetIRQSource(HANDLEhDevice,unsignedcharIrqSou)函數(shù)說明:該函數(shù)選擇中斷源。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄IrqSou:0表達AD轉換數(shù)據有效,1表達計數(shù)/定期器0輸出,2表達外部中斷,3表達計數(shù)/定期器1輸出,4表達計數(shù)/定期器3輸出,5表達計數(shù)/定期器4輸出,6表達計數(shù)/定期器5輸出。輸出:無返回值:無。注:AD轉換數(shù)據有效表達:當FIFOEn為“1”時,F(xiàn)IFO半滿標記(HF)觸發(fā)中斷當FIFOEn為“0”時,AD轉換結束觸發(fā)中斷FIFOEn是函數(shù)ADT652_ADConfig的參數(shù)ADT652_ADConfig:配置A/D函數(shù)原型:voidADT652_ADConfig(HANDLEhDeviceunsignedcharTimer2Con,unsignedcharDMACon,unsignedcharADTrig,unsignedcharGainCon,unsignedcharFIFOEn);函數(shù)說明:該函數(shù)用來配置A/D的轉換觸發(fā)方式、可編程增益放大控制和FIFO選擇等。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄Timer2Con:A/D轉換計數(shù)/定期器2(OUT2)觸發(fā)使能控制。置“0”時為不允許計數(shù)/定期器2(OUT2)觸發(fā)(缺省)。置“1”時為允許計數(shù)/定期器2(OUT2)觸發(fā)。DMACon:A/D轉換DMA傳送使能控制。置“0”時為不允許DMA(缺省)。置“1”時為允許DMA。ADTrig:A/D轉換觸發(fā)方式配置。置“0”時為軟件觸發(fā)。置“1”時為硬件觸發(fā)。GainCon:可編程增益放大控制。置“1”置“2”置“4”置“8”通過增益放大可對一些較弱信號進行采集,提高其精度。FOFIEn:AD轉換數(shù)據FIFO選擇置“0”時為FIFO嚴禁。置“1”時為AD轉換的數(shù)據進入FIFO。輸出:無返回值:無。ADT652_WriteDataDA:向DA通道寫DA代碼函數(shù)原型:voidADT652_WriteDataDA(HANDLEhDevice,unsignedintDAChannel,intDigitalValue)函數(shù)說明:該函數(shù)向DA通道寫DA代碼。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄DAChannel:DA通道,可輸入0~3,分別表達通道0~通道3DigitalValue:DA代碼輸出:無返回值:無ADT652_ChannelSwitch:AD通道切換狀態(tài)函數(shù)原型:unsignedcharADT652_ChannelSwitch(HANDLEhDevice)函數(shù)說明:該函數(shù)返回AD通道切換狀態(tài)。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄輸出:無返回值:AD通道切換完畢返回0,否則返回1ADT652_IRQStatus:中斷狀態(tài)函數(shù)原型:unsignedcharADT652_IRQStatus(HANDLEhDevice)函數(shù)說明:該函數(shù)返回中斷狀態(tài)。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄輸出:無返回值:有中斷返回1,否則返回0ADT652_StartConversion:啟動A/D變換函數(shù)原型:voidADT652_StartConversion(HANDLEhDevice)函數(shù)說明:該函數(shù)用于軟件啟動A/D變換。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄輸出:無返回值:無。ADT652_ConversionDone:監(jiān)測A/D變換的狀態(tài)函數(shù)原型:charADT652_ConversionDone(HANDLEhDevice)函數(shù)說明:該函數(shù)用于監(jiān)測A/D變換的狀態(tài)。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄輸出:無返回值:A/D變換結束返回0,否則返回1。ADT652_ReadData:讀取A/D變換的數(shù)據函數(shù)原型:intADT652_ReadData(HANDLEhDevice)函數(shù)說明:該函數(shù)用于讀取A/D變換的數(shù)據。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄輸出:無返回值:返回讀取的A/D變換的數(shù)據。ADT652_DigitToSBS:將A/D變換的數(shù)據轉換為輸入電壓值函數(shù)原型:floatADT652_DigitToSBS(HANDLEhDevice,intDigitalValue,int*Curcha)函數(shù)說明:該函數(shù)用于將A/D變換的數(shù)據轉換為輸入電壓值。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄DigitalValue:A/D變換的數(shù)據輸出:*Curcha:指向當前采樣通道返回值:返回轉換后的輸入電壓值。ADT652_ReadADFIFOFlag:讀取A/D的FIFO數(shù)據標志函數(shù)原型:unsignedcharADT652_ReadADFIFOFlag(HANDLEhDevice)函數(shù)說明:該函數(shù)用于讀取A/D的FIFO數(shù)據標志。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄輸出:無返回值:返回1表達FIFO數(shù)據半滿,返回2表達FIFO數(shù)據全滿,返回3表達FIFO數(shù)據空。ADT652_ADFIFOReset:復位A/D的FIFO函數(shù)原型:voidADT652_ADFIFOReset(HANDLEhDevice)函數(shù)說明:該函數(shù)用于復位A/D的FIFO。輸入:hDevice:從ADT652_DevLoad()函數(shù)中返回的句柄輸出:無返回值:無。ReadIOPort:讀取IO地址函數(shù)原型:unsignedcharReadIOP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論