您現在的位置: 18luck新利全站下载 >> 管理信息化>> 信息化知識>> 資料信息

教你為任何係統增加USB(doc 11頁)

所屬分類:
信息化知識
文件大小:
284 KB
下載地址:
相關資料:
係統, 增加, usb
教你為任何係統增加USB(doc 11頁)內容簡介
中斷端點有查詢間隔,它決定了USB主設備隔多久向IN端點要數據。每隔一段時間我們可以預計到主控製器發了一個IN請求給我們的設備端點3。圖7顯示了處理這些請求的一個簡單的狀態機。隻要設備被例舉了,處理器重複地執行這一過程。為了簡單起見,該應用程序查詢中斷腳是否有效,當然,如果你還有其他事要微控製器處理,你會用中斷來激活Do_IN3函數。狀態機使用了兩個全局變量:state和button。C宏定義了三個狀態:IDLE, RELEASE和 WAIT 。狀態變量初始化為IDLE。如果連在MAX3420E的GPIN0上的按鍵按下,變量button是高,否則為低。Main()中的無窮循環增加一個按鍵檢查定時器,當定時器到時它會讀一下MAX3420E中的GPIO寄存器來決定按鍵狀態。此方法省掉了不必要的SPI流量。當按鍵處於彈起狀態時,狀態圖轉到左邊的兩個分支,不做任何事。如果按鍵在IDLE狀態被按下,就發一個清除桌麵上活動窗口的鍵碼。鍵碼次序是08 (windows鍵) 00 (保留)和07 (字母d)。下一個狀態轉到RELEASE,這樣就完成了。隻要MAX3420E把數據包送到USB,它就產生另一個EP3-IN中斷請求來表示EP3-IN FIFO可以再一次裝載數據。然後再次進入圖7函數,此時狀態state = RELEASE ,因此函數發送序列00 00 00來表示“按鍵彈起”,下一個狀態進入WAIT,意思是“等待按鍵被釋放”。現在函數要做的所有工作是利用WAIT狀態分支程序來檢測按鍵釋放。如果按鍵一直按著,程序不做任何事,當按鍵一被釋放,狀態圖就進到右邊的兩個分支,重新初始化state 變量為IDLE,使函數等候下一個按鍵按下。
..............................

Baidu
map