資源描述:
《藍(lán)牙HID協(xié)議筆記.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、藍(lán)牙HID協(xié)議筆記(2013-07-3115:05:53)轉(zhuǎn)載▼標(biāo)簽:分類:Bluetooth1.概述TheHumanInterfaceDevice(HID)定義了藍(lán)牙在人機(jī)接口設(shè)備中的協(xié)議、特征和使用規(guī)程。典型的應(yīng)用包括藍(lán)牙鼠標(biāo)、藍(lán)牙鍵盤、藍(lán)牙游戲手柄等。該協(xié)議改編自USBHIDProtocol。2.一些概念(1)HIDReports:BluetoothHIDdevices支持三種Report:Input,Output,andFeature。(2)HID建立ControlChannel和InterruptChannel兩個(gè)通道,r
2、eport可以在這兩條channel上傳輸,在Controlchannel上傳輸?shù)膔eport稱為synchronousreports;在Interruptchannel上傳輸?shù)膔eport稱為asynchronousreports。(3)FeaturereportsarealwaystransferredsynchronouslyusingGET_REPORTorSET_REPORTrequests。(4)ReportProtocolMode和BootProtocolMode。BluetoothHIDHosts至少支持一種,Blu
3、etoothHIDDevice則需要支持ReportProtocolMode,并且ReportProtocolMode是BluetoothHIDDevice的默認(rèn)Mode。3.BluetoothHIDProtocolMessages這些message不能超過(guò)L2CAP的MTU,大小超過(guò)MTU的message將被忽略。MessageHeader的格式如下:(1)HANDSHAKE該Message用來(lái)acknowledgeSET_REPORT,SET_IDLEandSET_PROTOCOL等request。只在ControlChanne
4、l上傳輸,只由BluetoothHIDdevice。Parameter部分定義如下:(2)HID_CONTROL控制BluetoothHIDdevice改變狀態(tài)。Parameter部分定義如下:(3)GET_REPORTBluetoothHIDHost用來(lái)請(qǐng)求BluetoothHIDdevice的傳輸。定義如下:(4)SET_REPORTBluetoothHIDHost用來(lái)向BluetoothHIDdevice發(fā)起傳輸。格式如下:(5)GET_PROTOCOL用來(lái)獲取BluetoothHIDdevice的ProtocolMode,然
5、后BluetoothHIDdeviceresponse一個(gè)DATApayload說(shuō)明當(dāng)前的ProtocolMode。格式如下:GET_PROTOCOLDataDefinition格式如下:(6)SET_PROTOCOL用來(lái)設(shè)置BluetoothHIDdevice的BluetoothHIDdevice。格式如下:(7)DATA代表一個(gè)aHIDpayload。格式如下:4.Transfers以HIDProtocolmessages的形式傳輸。(1)ControlChannelTransfers分為Acknowledged和Unackno
6、wledged兩種,格式如下:(2)InterruptChannelTransfersInterruptIN和InterruptOUT兩種,可以在任意時(shí)刻發(fā)送?!局袛嗦铩?.其余各層對(duì)于HID的要求HID與L2CAP的交互如下: