PCI總線(xiàn)數據輸出板驅動(dòng)程序的開(kāi)發(fā)
pOutBuffer[0]= m_MemoryRange1.inb(ioOutSize-1);
本文引用地址:http://dyxdggzs.com/article/265056.htm//讀取一個(gè)字節數據
I.Information()=1;
return status;
}
NTSTATUS PCI_DADevice::PCI_DA_IOCTL_Write_Handler(KIrp I)
{
NTSTATUS status=STATUS_SUCCESS;
//得到IOCTL緩沖區指針
PUCHAR pInBuffer=(PUCHAR) I.IoctlBuffer ();
//輸入緩沖區大小
ULONG ioInSize=I.IoctlInputBufferSize();
//將數據寫(xiě)入偏移地址為n-1的存儲單元
m_MemoryRange1.outb
(ioInSize-1,pInBuffer[0]);
//寫(xiě)入大小為一個(gè)字節
I.Information()=1;
return status;
}
編譯驅動(dòng)程序,生成一個(gè).inf文件和一個(gè).sys文件,這就是需要安裝的驅動(dòng)程序文件。編譯無(wú)錯誤,就可以安裝調試驅動(dòng)程序了。
5 安裝調試驅動(dòng)程序
插入自己設計的PCI板卡,重新啟動(dòng)計算機,出現安裝新硬件向導。安裝已經(jīng)生成的.inf文件和.sys文件。安裝后,查看pci設備的資源,若與自己硬件設置的資源空間相同,則設備驅動(dòng)安裝成功。
用Windows自帶的命令提示符,打開(kāi)驅動(dòng)程序框架自帶的test應用程序,測試通過(guò)驅動(dòng)程序讀寫(xiě)數據。若讀取的和寫(xiě)入的數據一致,則驅動(dòng)程序開(kāi)發(fā)成功。
結束語(yǔ)
本文以一種基于PCI總線(xiàn)的D/A數據輸出板卡為例,介紹了在Windows 2000/XP下用DriverStudio開(kāi)發(fā)PCI總線(xiàn)WDM驅動(dòng)程序的基本方法,詳細敘述了應用程序和驅動(dòng)程序之間的通信機制和硬件訪(fǎng)問(wèn)方法;針對板卡的硬件結構和功能用途,介紹了PCI9052總線(xiàn)控制器PCI配置寄存器和局部配置寄存器地址配置的具體方法;給出了利用安裝新硬件向導安裝驅動(dòng)程序的方法,實(shí)現了上位機和數據輸出板卡的通信。
c++相關(guān)文章:c++教程
評論