USB HID設(shè)備是通過(guò)報(bào)告來(lái)給傳送數(shù)據(jù)的,報(bào)告有輸入報(bào)告和輸出報(bào)告。
輸入報(bào)告是USB設(shè)備發(fā)送給主機(jī)的,例如USB鼠標(biāo)將鼠標(biāo)移動(dòng)和鼠標(biāo)點(diǎn)擊等信息返回給電腦,鍵盤(pán)將按鍵數(shù)據(jù)數(shù)據(jù)返回給電腦等;輸出報(bào)告是主機(jī)發(fā)送給USB設(shè)備的,例如鍵盤(pán)上的數(shù)字鍵盤(pán)鎖定燈和大寫(xiě)字母鎖定燈等。報(bào)告是一個(gè)數(shù)據(jù)包,里面包含的是所要傳送的數(shù)據(jù)。輸入報(bào)告是通過(guò)中斷輸入端點(diǎn)輸入的,而輸出報(bào)告有點(diǎn)區(qū)別,當(dāng)沒(méi)有中斷輸出端點(diǎn)時(shí),可以通過(guò)控制輸出端點(diǎn)0發(fā)送,當(dāng)有中斷輸出端點(diǎn)時(shí),通過(guò)中斷輸出端點(diǎn)發(fā)出。而報(bào)告描述符,是描述一個(gè)報(bào)告以及報(bào)告里面的數(shù)據(jù)是用來(lái)干什么用的。通過(guò)它,USB HOST可以分析出報(bào)告里面的數(shù)據(jù)所表示的意思。它通過(guò)控制輸入端點(diǎn)0返回,主機(jī)使用獲取報(bào)告描述符命令來(lái)獲取報(bào)告描述符,注意這個(gè)請(qǐng)求是發(fā)送到接口的,而不是到設(shè)備。一個(gè)報(bào)告描述符可以描述多個(gè)報(bào)告,不同的報(bào)告通過(guò)報(bào)告ID來(lái)識(shí)別,報(bào)告ID在報(bào)告最前面,即第一個(gè)字節(jié)。當(dāng)報(bào)告描述符中沒(méi)有規(guī)定報(bào)告ID時(shí),報(bào)告中就沒(méi)有ID字段,開(kāi)始就是數(shù)據(jù)。
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版