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

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應用 > 將串行應用移植到USB接口的簡便方法(06-100)

          將串行應用移植到USB接口的簡便方法(06-100)

          ——
          作者:Microchip Technology Inc. Lucio Di Jasio 時間:2008-04-02 來源:電子產(chǎn)品世界 收藏


            關(guān)于VID和PID

          本文引用地址:http://www.ex-cimer.com/article/81086.htm

            盡管設(shè)計師可以任意修改制造商部分和字符串部分的內(nèi)容,但VID和PID代碼的使用是非常嚴肅的。 -IF全權(quán)負責為每個希望銷售和生產(chǎn)產(chǎn)品的制造商分配一個16位唯一VID代碼。 VID代碼通過許可協(xié)議獲得,并需要支付一次性注冊費用。

            一旦分配了VID代碼,制造商就可以利用65,536 (16位) PID代碼來唯一地標識其不同型號的產(chǎn)品。 換句話說,VID代碼是“終生有效的”,因此很容易攤平初始的VID許可和注冊成本。 當然,對于純粹開發(fā)目的,并不需要完成整個許可過程,因為不同的制造商通常都提供“開發(fā)用VID/PID代碼對”。 為進一步鼓勵小型企業(yè)、初創(chuàng)企業(yè)、咨詢企業(yè)以及其它非常小批量生產(chǎn)企業(yè),有些單片機生產(chǎn)商還提供獲得單個VID/PID對的選擇(免費)。

            擁有COM端口

            如果一切順利,此時即插即用已經(jīng)完成了安裝過程,一個新的設(shè)備就會出現(xiàn)在硬件管理器中。 系統(tǒng)會自動使用下一個可用的端口號為它指定一個名稱(例如,已經(jīng)安裝了COM2和COM1,就會出現(xiàn)COM3)。 用戶可以使用已經(jīng)編寫好用來訪問實際COMx端口的程序來訪問這個端口(如所有Windows軟件中的超級終端程序)。 連接好后,除了通訊速度提高了,功能上沒有什么區(qū)別。與PC上最快的端口相比,通信速度提高了一到兩個數(shù)量級。 Visual Basic或C++程序可通過標準的Windows OpenFile()、ReadFile() 和WriteFile() API 來對仿真的COM端口進行讀寫,不用改變?nèi)魏未a。

            結(jié)語

            現(xiàn)在市場上已經(jīng)有了兼容的、全功能閃存單片機。這些單芯片解決方案為嵌入式控制設(shè)計工程師提供了最低的成本和最大的靈活性。 通過使用CDC類庫,端口仿真為工程師們將應用程序從傳統(tǒng)串行端口移植到更快的USB通信提供了一條捷徑,并且避免了Windows底層開發(fā)所帶來的障礙。 按照上述步驟,嵌入式設(shè)計工程師可以快速地從串行端口轉(zhuǎn)移到USB,從而可將100%的精力集中到嵌入式應用這個他們最擅長的方面。


          上一頁 1 2 3 4 5 下一頁

          關(guān)鍵詞: Microchip USB 串行

          評論


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