在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            關 閉

            新聞中心

            EEPW首頁 > 工控自動化 > 設計應用 > 基于USB接口設備的固件程序設計

            基于USB接口設備的固件程序設計

            作者: 時間:2009-12-29 來源:網(wǎng)絡 收藏

            主程序和中斷服務程序(ISR)之間任務分配是,ISR從D12收集數(shù)據(jù),主程序將處理這些數(shù)據(jù)。ISR只在它收集了足夠的數(shù)據(jù)才通知主程序準備處理,這樣會減少不必要的主程序服務時間,也簡化了主程序。
            總線重置和空閑在ISR里面不需要特殊的處理。ISR要么設置總線重置標志,要么在EPPFLAG里暫停這一位并退出。
            控制型傳輸總是以setup階段開始的,接著是數(shù)據(jù)階段。然后以狀態(tài)階段結束。

            本文引用地址:http://www.biyoush.com/article/202578.htm

            下面以處理Control OUT和Control IN這兩個最復雜最重要的中斷子程序為例,說明編寫中斷服務程序的一些問題。
            Control OUT主要是主機用來傳遞控制請求的,也可用于傳輸數(shù)據(jù),進入服務程序后首先要發(fā)送控制字Read Last Transaction Status(40H)給PDID12,讀取管道狀態(tài),根據(jù)讀取的狀態(tài)判斷是因為有數(shù)據(jù)包還是有SETUP包的到來而中斷。當SETUP包被設備的D12接收后,設備將會向MCU產(chǎn)生中斷。微控制器將通過讀取D12中斷寄存器的內(nèi)容判斷封包是送到Control端點還是Genric端點而進行處理。如果封包是送到Control端點,MCU將會進一步通過讀D12的“Read Last Transaction Status Register”判斷數(shù)據(jù)是不是SETUP 封包。對于獲取描述符設備請求,第一個封包必須是SETUP封包。
            之后,MCU需要讀出SETUP封包的內(nèi)容通過選擇Control Out端點來判斷這個端點是滿的還是空的。如果控制端點是滿的,MCU就從緩沖區(qū)中讀出它的內(nèi)容并將它存在存儲器里。然后,它將從存儲器里去驗證主機設備請求是否合法。如果是合法請求,MCU必須送“Acknowledge Setup command”到Control Out端點使能接收下一個封包。下一步,MCU需要確定控制傳輸是控制讀還是控制寫。這可以通過從SETUP 封包里讀bmRequestType的8個字節(jié)來完成。控制傳輸是控制讀,設備需要在下一個數(shù)據(jù)時相回送數(shù)據(jù)包給主機。MCU需要建立一個標志,表明設備現(xiàn)在正處于傳送模式。應主機的要求準備送數(shù)據(jù)。
            Control IN主要是用來向主機傳送數(shù)據(jù)的,進入服務子程序后,首先要通過讀Read Last Transaction Status(40H)來清除Control-In interrupt Bit,在確認D12是處于傳送模式下后,MCU將數(shù)據(jù)包送往主機。但是,由于D12只有16字節(jié)的FIFO,所以MCU必須控制好傳送的總量,如果要求的長度大于16字節(jié)的話。MCU必須檢查當前和剩下的要送往主機的數(shù)據(jù),如果剩下的字節(jié)大于16字節(jié)的話,MCU將先送頭16字節(jié)。在下一個Control-IN令牌包到來的時候,MCU將先判斷剩下的字節(jié)是否為0,如果是,MCU將發(fā)一個空包給主機,通知它數(shù)據(jù)已經(jīng)傳送完畢。

            結束語:

            功能強大的USB規(guī)格已經(jīng)成為PC的眾多標準之一,鉆研計算機科技的種種發(fā)展,都離不開USB的相關知識。本文創(chuàng)新點:使用USB通信方面的具體協(xié)議,用單片機匯編語言編程,利用單片機的指令系統(tǒng)去實現(xiàn)USB設備與PC主機的具體通信,設計出適合用戶需求的USB設備。


            上一頁 1 2 3 下一頁

            評論


            相關推薦

            技術專區(qū)

            關閉