實戰Linux Bluetooth編程 (八) Class of Device

來源:互聯網
上載者:User

本文作者的部落格地址:http://blog.sina.com.cn/samzhen1977
作者:Sam (甄峰)
sam_code@hotmail.com

 

 

在裝置被發現階段,裝置的Class of device被提供出來。指出此裝置是何種類型,以及支援哪些服務。

 

回想前面HCI章節所說,Inquiry時,會返回找到的裝置資訊,其中包括BDADDR等。其中dev_class欄位就是Class
of Device.

 

typedef struct {
 bdaddr_t bdaddr;

 uint8_t  pscan_rep_mode;

 uint8_t  pscan_period_mode;

 uint8_t  pscan_mode;

 uint8_t  dev_class[3];

 uint16_t clock_offset;
} __attribute__ ((packed)) inquiry_info;

 

Class of Device parameter包括:

Bluetooth Device Class:主class和次class
Bluetooth Service Type.

 

至於Class of Device 哪些位表達什麼意思,可以從以下網頁找到詳細說明:

https://www.bluetooth.org/Technical/AssignedNumbers/baseband.htm

 

以下用4個典型例子來說明:

dev_class[0] : Octer1. (此項存疑)

dev_class[1]: Octer2

dev_class[2]: Octer3.

 

例1:

class[0] = 4

class[1] = 1

class[2] = 3E

 

Class[1] = 1 指明第8位為1。查網頁,表明是(電腦(台式機、筆記本、PDA、organizer
....))

Class[0] = 4 指明第2位為1。表明:台式機工作站

Class[2] = 3E. 表明17-21位均為1。

 

17 網路(LAN、Ad hoc ...)
18 渲染(列印、擴音器 ...)
19 捕捉(掃描器、麥克風 ...)
20 對象傳輸(v-Inbox、v-Folder ...)
21 音頻(擴音器、麥克風、耳機服務 ...)

 

表明這是一台台式機,支援以上各種服務。

 

 

例2:

class[0] = 4

class[1] = 1

class[2] = 0

Class[1] = 1 指明第8位為1。查網頁,表明是(電腦(台式機、筆記本、PDA、organizer
....))

Class[0] = 4 指明第2位為1。表明:台式機工作站

表明這是一台台式機。 但什麼都不支援。

 

例3:

class[0] = 80

class[1] = 25

class[2] = 0

 

先看主裝置:class[1] = 25, 表明8,10,13 位為1。

8,10位為1 表明是 配件(滑鼠、遊戲杆、鍵盤 .....)

13位為1:有限可發現模式 (Sam: 並不是一直可見,而是按鍵後才可見)

再看次裝置:class[0] = 80, 表明第7位為1。表明指向裝置。呵呵,就是滑鼠了。

 

 

例4:

class[0] =4

class[1] = 25

class[2] = 0

 

先看主裝置:class[1] = 25, 表明8,10,13 位為1。

8,10位為1 表明是 配件(滑鼠、遊戲杆、鍵盤 .....)

13位為1:有限可發現模式 (Sam: 並不是一直可見,而是按鍵後才可見)

再看次裝置:class[0] = 4, 表明第3位為1。表明遊戲杆

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.