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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 初涉USB,初學(xué)者USB入門總結(jié)(5)USB上位機(jī)讀寫開發(fā)

          初涉USB,初學(xué)者USB入門總結(jié)(5)USB上位機(jī)讀寫開發(fā)

          作者: 時(shí)間:2016-12-14 來源:網(wǎng)絡(luò) 收藏
          上一部分說了固件和驅(qū)動(dòng)的編程,這里再談一下上位機(jī)的程序,因?yàn)槲议_發(fā)的范圍也就是傳傳數(shù)據(jù),所以太深入的沒有去做,不過一般的工程調(diào)試應(yīng)該足夠了。
          固件的程序和驅(qū)動(dòng)編寫好了后,把設(shè)備插入就可以正確識(shí)別到,接下來的工作就是如何用上位機(jī)讀寫設(shè)備了。其實(shí)讀寫操作跟讀寫串口一致的,就是用file進(jìn)行操作。關(guān)鍵是打開設(shè)備,下面是我用到的程序,這里都貼出來吧,我都是用這個(gè)的,供大家參考,呵呵,如果剛開始弄的話,估計(jì)得弄上個(gè)一個(gè)星期才行,用這個(gè)程序修改一下,兩分鐘搞定。
          其中GUID ClassGuid是你在驅(qū)動(dòng)中生成的一個(gè)號(hào),它必須跟你的驅(qū)動(dòng)對(duì)應(yīng)起來,這個(gè)號(hào)的位置在驅(qū)動(dòng)程序的XXXDeviceInterface.h中的#define XXXDevice_CLASS_GUID ....(XXX表示你起的工程名字)。把這個(gè)號(hào)替換之后用FpOpenDevice打開設(shè)備,得到一個(gè)讀句柄,一個(gè)寫句柄,然后在自己的程序中用readfile和writefile讀寫設(shè)備就可以了,注意,不管是讀還是寫,都是主機(jī)發(fā)出的,設(shè)備不能主動(dòng)發(fā)發(fā)數(shù)據(jù)。比如上位機(jī)中運(yùn)行readfile,就會(huì)發(fā)送一個(gè)IN指令,設(shè)備接到IN指令后,會(huì)把緩沖區(qū)的內(nèi)容發(fā)出。
          對(duì)于初學(xué)總結(jié)就先介紹到這里,謝謝大家的支持
          希望大家多多分享自己開發(fā)的經(jīng)驗(yàn),在開發(fā)學(xué)習(xí)中遇到的問題和困惑可能其他人都會(huì)有碰到,與其自己把這些心得憋在肚子里讓大家都走一遍彎路不如把自己的經(jīng)驗(yàn)與別人分享,這樣不但自己有個(gè)總結(jié)再個(gè)使別人收益,何樂而不為,獨(dú)樂樂不如眾樂樂,于是而也。
          其實(shí)開發(fā)也是一件具有藝術(shù)與哲學(xué)的事情,說其藝術(shù),是其任憑你想象,散發(fā)的無邊無際。說其有哲理,是萬事皆有因,順其自然(自然即客觀規(guī)律),必能找其根本,體味其中奧妙,其樂無窮~


          評(píng)論


          技術(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); })();