<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Windows CE.NET下ADC驅(qū)動(dòng)開發(fā)設(shè)計(jì)

          Windows CE.NET下ADC驅(qū)動(dòng)開發(fā)設(shè)計(jì)

          作者: 時(shí)間:2012-11-26 來源:網(wǎng)絡(luò) 收藏

            4.2 實(shí)現(xiàn)驅(qū)動(dòng)的各個(gè)標(biāo)準(zhǔn)接口函數(shù)

            需要實(shí)現(xiàn)的函數(shù)在前文已經(jīng)論述,現(xiàn)在只需按照其功能編寫具體的代碼。下面給出ADC_Init、ADC_Read、ADC_Write 部分程序代碼。




            4.3 導(dǎo)出接口函數(shù)集

            流驅(qū)動(dòng)一般以 DLL 形式存在,與在windows 98/2000/XP 系統(tǒng)下用VC++開發(fā)DLL 工程一樣,如果我們?cè)敢獍袲LL 中的某些函數(shù)暴露給應(yīng)用程序或者操作系統(tǒng)調(diào)用,就需要將這些函數(shù)導(dǎo)出,否則外部程序?qū)⒉荒苷{(diào)用 DLL 中的函數(shù)。DEF 文件定義了DLL 需要導(dǎo)出的接口函數(shù)集,且名稱與設(shè)備驅(qū)動(dòng)名稱相同[DEF 示例文件]

            LIBRARY ADC

            EXPORTS

            ADC_Open

            ADC_Close

            ADC_Init

            ADC_Deinit

            ADC_Read

            ADC_Write

            本示例表明從 ADC.dll 中導(dǎo)出ADC_Init 等函數(shù),其中 ADC 即為我們選擇的代表設(shè)備的文件名前綴,DLLEntry 是驅(qū)動(dòng)程序的入口函數(shù)。

            4.4 在注冊(cè)表中增加驅(qū)動(dòng)項(xiàng)

            注冊(cè)表是一個(gè)龐大的數(shù)據(jù)庫,它記錄了用戶安裝在機(jī)器上的軟件和每個(gè)程序的相互關(guān)聯(lián)信息;它包含了計(jì)算機(jī)的硬件配置,包括自動(dòng)配置的即插即用的設(shè)備和已有的各種設(shè)備說明、狀態(tài)屬性以及各種狀態(tài)信息和數(shù)據(jù)。在 Windows 系統(tǒng)中,很多驅(qū)動(dòng)都要通過設(shè)備管理器來查詢注冊(cè)表,再根據(jù)注冊(cè)表項(xiàng)來加載驅(qū)動(dòng)程序,所以必須在注冊(cè)表中增加相應(yīng)的驅(qū)動(dòng)項(xiàng)。假定ADC.dll 為驅(qū)動(dòng)程序,通常,注冊(cè)項(xiàng)位于注冊(cè)表的Root Key 下,一般為[HKEY_LOCAL_MACHINEDriversBuiltInADC]。其中 ADC 是為我們驅(qū)動(dòng)程序而添加的。我們需要在 ADC下建立必要的子鍵和鍵值,“Prefix”和“DLL”是2 個(gè)重要而且必須的鍵,分別描述了設(shè)備前綴名和驅(qū)動(dòng)程序的動(dòng)態(tài)連接庫名。如果還有需要的話,可以建立驅(qū)動(dòng)程序需要的其子他鍵。

          鎖相環(huán)相關(guān)文章:鎖相環(huán)原理


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();