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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式檢測系統(tǒng)的應(yīng)用程序設(shè)計

          嵌入式檢測系統(tǒng)的應(yīng)用程序設(shè)計

          作者: 時間:2012-06-08 來源:網(wǎng)絡(luò) 收藏

            4、程序的工作過程

            程序在工作前首先要獲得設(shè)備的內(nèi)部名,按內(nèi)部名打開其驅(qū)動程序,然后發(fā)送控制代碼。如圖1所示。

            

            圖1 程序的工作過程

            設(shè)備的內(nèi)部名是操作系統(tǒng)為設(shè)備分配的全局唯一的標(biāo)識符,需要用操作系統(tǒng)的API來獲得。具體的過程如下:

            a.通過GUID號獲得設(shè)備信息句柄;

            b.通過設(shè)備信息句柄獲得設(shè)備接口句柄;

            c.用設(shè)備接口句柄獲取設(shè)備詳細(xì)信息;

            d.在設(shè)備詳細(xì)信息中取得設(shè)備內(nèi)部名;

            e.釋放所用的內(nèi)存資源。

            獲得設(shè)備的內(nèi)部名后,調(diào)用CreateFile函數(shù)就可打開設(shè)備的驅(qū)動程序,該函數(shù)返回一個指向驅(qū)動程序的句柄。

            取得了驅(qū)動程序的句柄后,調(diào)用函數(shù)DeviceIoControl就可發(fā)送控制代碼對設(shè)備進(jìn)行通信。

            5、開發(fā)工具

            應(yīng)用程序是用Visual C++6.0來編寫的。Visual C++6.0是Microsoft公司在1998年推出的基于Windows9x和WindowsNT的優(yōu)秀集成開發(fā)環(huán)境。它的主要優(yōu)點如下:

            (1) Visual C++的最大特色就是提供面向?qū)ο蠹夹g(shù)的支持,它利用類把大部分與用戶界面設(shè)計有關(guān)的函數(shù)封裝起來,通過MFC(Microsoft Foundation Class)類庫的方式提供給開發(fā)人員使用,大大提高了程序代碼的重用性。

           ?。?) Visual C++提供一個功能強(qiáng)大的應(yīng)用程序生成向?qū)?-----AppWizard。AppWizard將幫助MFC類庫的用戶自動生成一個運(yùn)行程序框架------一個空的不能做任何事情的應(yīng)用程序,而用戶只需要在該框架的適當(dāng)部分?jǐn)U充代碼就可以得到一個滿意的應(yīng)用程序。

           ?。?) Visual C++利用“所見即所得”的方式完成程序界面的設(shè)計,大大減輕了人員的勞動強(qiáng)度,提高了開發(fā)效率。

           ?。?) Visual C++的功能強(qiáng)大,用途廣泛,不僅可以編寫普通的應(yīng)用程序,還能很好地進(jìn)行系統(tǒng)軟件及通信軟件的開發(fā)。

            結(jié)束語:功能強(qiáng)大的USB規(guī)格已經(jīng)成為PC的眾多標(biāo)準(zhǔn)之一,鉆研計算機(jī)科技的種種發(fā)展,都離不開USB的相關(guān)知識。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          評論


          相關(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); })();