USB滑鼠通訊協議格式

2021-07-06 06:11:17 字數 1322 閱讀 8452

宣告:本文原出處:作者文章。

滑鼠傳送給pc的資料每次4個位元組 

byte1 byte2 byte3 byte4 

定義分別是: 

byte1 -- 

|--bit7:   1   表示   y   座標的變化量超出-256   ~   255的範圍,0表示沒有溢位  

|--bit6:   1   表示   x   座標的變化量超出-256   ~   255的範圍,0表示沒有溢位  

|--bit5:   y   座標變化的符號位,1表示負數,即滑鼠向下移動  

|--bit4:   x   座標變化的符號位,1表示負數,即滑鼠向左移動  

|--bit3:     恒為1  

|--bit2:     1表示中鍵按下  

|--bit1:     1表示右鍵按下  

|--bit0:     1表示左鍵按下  

byte2 -- x座標變化量,與byte的bit4組成9位符號數,負數表示向左移,正數表右移。用補碼表示變化量  

byte3 -- y座標變化量,與byte的bit5組成9位符號數,負數表示向下移,正數表上移。用補碼表示變化量 

byte4 -- 滾輪變化。 

由於手上沒有usb滑鼠,對byte1的4-7位沒有測試,對於byte2 byte3做個測試,byte1的4-7全為0的時候,byte2 byte3的正負表示滑鼠移動方向 

鍵盤傳送給pc的資料每次8個位元組 

byte1 byte2 byte3 byte4 byte5 byte6 byte7 byte8 

定義分別是: 

byte1 -- 

|--bit0:   left control是否按下,按下為1  

|--bit1:   left shift  是否按下,按下為1  

|--bit2:   left alt    是否按下,按下為1  

|--bit3:   left gui    是否按下,按下為1  

|--bit4:   right control是否按下,按下為1   

|--bit5:   right shift 是否按下,按下為1  

|--bit6:   right alt   是否按下,按下為1  

|--bit7:   right gui   是否按下,按下為1  

byte2 -- 暫不清楚,有的地方說是保留位 

byte3--byte8 -- 這六個為普通按鍵 

鍵盤經過測試。 

例如:鍵盤傳送一幀資料   02 00 0x04 0x05 00 00 00 00 

表示同時按下了left shift + 『a』+『b』三個鍵 

USB通訊協議

usb2.0最高傳輸速度可達480mb s。一 四種傳輸方式 a 控制傳輸方式 配置和控制主機到usb裝置的資料傳輸方式和型別。b 中斷傳輸方式 資料量小,需被及時處理,實時性好,主要用於鍵盤 滑鼠等。c 同步 等時傳輸方式 用於連線需要連續傳輸資料且對資料正確性要求不高,而對時間極為敏感的外部裝置...

USB通訊協議學習筆記

usb學習筆記 usb hid裝置類的應用場合 usb hid類是usb裝置的乙個標準裝置類,包括的裝置非常多。hid類裝置定義它屬於人機互動操作的裝置,用於控制計算機操作的一些方面,如usb滑鼠 usb鍵盤 usb遊戲操縱桿等。但hid裝置類不一定要有人機介面,只要符合hid類別規範的裝置都是hi...

C 串列埠通訊 協議格式

快取收到的所有資料,找到一條完整資料,分析資料,介面通知。信令格式 同步頭 資料正文 同步尾 同步頭 命令字 資料長度 資料正文 同步尾 同步頭 位址碼 命令字 資料長度 資料正文 同步尾 同步頭 資料正文 校驗碼 同步頭 命令字 資料長度 資料正文 校驗碼 同步頭 位址碼 命令字 資料長度 資料正...