哈哈,終于搞了一回USB HID設(shè)備,做了一個USB鍵盤來玩玩~~~~其中的報告描述符讓我暈了幾天~~~~~幾份HID相關(guān)的協(xié)議還是蠻長的~~~~~~明天再弄個USB鼠標設(shè)備玩玩~~~~~~~有空的話再搞個紅外遙控器玩玩~~~
這回是拿以前做的Mass storage來改的,所以比較快,修改了一下描述符以及端點處理等,就行了。用了一個4*4的小鍵盤,有0-9十個數(shù)字鍵,Num Lock鍵,Caps Lock鍵,Shift鍵,Ctrl鍵,Alt鍵,回車鍵等。
最多可以有三個鍵同時按下,如果相交的話,最多只能兩個鍵按下。
以下是通過串口返回的調(diào)試信息:
系統(tǒng)啟動。..。..。..。..。..。..。..。..。..。..。.
斷開USB連接。..。..。..。..。..。..。..。..
USBD12芯片初始化
設(shè)置地址。..。..。..。..。..。..。..
地址為: 0
連接USB.。..。..。..。..。.
USB總線復位。..。..。..。..。..。..。..。..。..。..。.
USB總線掛起。..。..。..。..。..。..。..。..。..。..。.
USB總線復位。..。..。..。..。..。..。..。..。..。..。.
USB總線掛起。..。..。..。..。..。..。..。..。..。..。.
USB總線復位。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
獲取設(shè)備描述符。..。..。..。..。..。..。..。..。..。..。.
USB總線復位。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
設(shè)置地址。..。..。..。..。..。..。..
地址為: 2
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
獲取設(shè)備描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
獲取配置描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
獲取字符串描述符。..。..。..。..。..。..。..。..。..。..。.
獲取語言ID.。..。..。..。..。..。..。..。..。..。..。
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
獲取字符串描述符。..。..。..。..。..。..。..。..。..。..。.
獲取設(shè)備序列號。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
獲取配置描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
獲取字符串描述符。..。..。..。..。..。..。..。..。..。..。.
獲取語言ID.。..。..。..。..。..。..。..。..。..。..。
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
獲取字符串描述符。..。..。..。..。..。..。..。..。..。..。.
獲取產(chǎn)品字符串。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
獲取字符串描述符。..。..。..。..。..。..。..。..。..。..。.
獲取語言ID.。..。..。..。..。..。..。..。..。..。..。
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
獲取字符串描述符。..。..。..。..。..。..。..。..。..。..。.
獲取產(chǎn)品字符串。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
獲取設(shè)備描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
獲取配置描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
獲取配置描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
設(shè)置配置。..。..。..。..。..。..。..。..。..。..。.
USB類請求。..。..。..。..。..。..。..。..。..。..。.
設(shè)置空閑。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符(從接口)。..。..。..。..。..。..。..。..。..。..
獲取報告描述符。..。..。..。..。..。..。..。..。..。..。.
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符(從接口)。..。..。..。..。..。..。..。..。..。..
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符(從接口)。..。..。..。..。..。..。..。..。..。..
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符(從接口)。..。..。..。..。..。..。..。..。..。..
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符(從接口)。..。..。..。..。..。..。..。..。..。..
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符(從接口)。..。..。..。..。..。..。..。..。..。..
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符(從接口)。..。..。..。..。..。..。..。..。..。..
USB標準請求。..。..。..。..。..。..。..。..。..。..。.
獲取描述符(從接口)。..。..。..。..。..。..。..。..。..。..
端點2輸出。..。..。..。..。..。..。..。..。..。..。.
端點2的數(shù)據(jù)是 0x01
端點2輸出。..。..。..。..。..。..。..。..。..。..。.
端點2的數(shù)據(jù)是 0x03
端點2輸出。..。..。..。..。..。..。..。..。..。..。.
端點2的數(shù)據(jù)是 0x01
端點2輸出。..。..。..。..。..。..。..。..。..。..。.
端點2的數(shù)據(jù)是 0x00
端點2輸出。..。..。..。..。..。..。..。..。..。..。.
端點2的數(shù)據(jù)是 0x02
端點2輸出。..。..。..。..。..。..。..。..。..。..。.
端點2的數(shù)據(jù)是 0x03
在設(shè)備管理器里看到的圖:
原理圖
(用的是以前做IDE轉(zhuǎn)USB的板,所以上面還有個IDE接口和573鎖存器,可以不用理會它們):
(注意:原理圖上所標的晶體值是以前的,這個程序中使用的是22.1184M的晶體。它關(guān)系到串口波特率,如果你不使用串口,那么可以不用理會它。)
注意:圖中串口電平轉(zhuǎn)換部分的C8和C10接反了,C11負端應(yīng)接VDD。D12的SUSPEND(12腳)應(yīng)該接地。USB接頭的D+和D-跟芯的D+和D-之間應(yīng)該串聯(lián)22歐姆的匹配電阻。片由于圖得比較匆忙,所以沒留意。右擊選擇圖片另存為可以看到完整圖片了。
實物圖片(鍵盤是外接的):
責任編輯LK
-
usb
+關(guān)注
關(guān)注
60文章
8151瀏覽量
271260 -
鍵盤
+關(guān)注
關(guān)注
4文章
865瀏覽量
40493 -
HID
+關(guān)注
關(guān)注
2文章
135瀏覽量
47459
發(fā)布評論請先 登錄
USB鍵盤夜燈自制
什么是鍵盤USB HUB
自制MINI USB的方法

DIY制作USB機械鍵盤
如何自制一個屬于自己的MIDI鍵盤
自制USB鍵盤的電路原理圖和工程文件與源代碼免費下載

評論