HCI的数据格式

HCI数据是以小端字节序存储的;

  小端字节序:低位数据存放在内存低地址处

  大端字节序:高位字节数据存放在内存低地址处

 

1. 命令:  

  

  OGF:不同组的命令,有不同的OGF

     Link Control commands, the OGF is defined as 0x01.

     Link Policy commands, the OGF is defined as 0x02.   这两个OGF下的命令是和对端设备有关的命令

     Control and Baseband commands, the OGF is defined as 0x03.

     Informational Parameters commands, the OGF is defined as 0x04. 这两个OGF下的命令是和本端设备有关的命令
     status parameters commands, the OGF is defined as 0x05.
     Testing commands, the OGF is defined as 0x06.
     LE Controller commands, the OGF code is defined as 0x08.
     vendor-specific debug commands,The OGF code is defined as 0x3F.
  OCF:代表不同OGF下的命令标号,是唯一的
    如Link Control commands下的inquiry command,其OCF为0x0001,所以Opcode[0] = OCF & 0XFF,Opcode[1] = OCF>>8 | OGF<<2

 

2. ACL数据:

  

   只要牵扯到上层数据,都是走HCI的ACL数据;

   Handle:只要和对端设备建立起来接,就将有一个connect handle,用这个handle表示对端设备

   PB Flag:拆包合包用的,怎么判断要拆包?

      通过READ_BUFFER_SIZE读会芯片的承受能力,如果上层数据大于芯片的承受能力,就要拆包

   BC Flag:广播标志,点对点的方式

  

  

3. SCO数据:

  

   Connection_Handle:SCO或eSCO的连接句柄

   Packet_Status_Flag:

   注:SCO不一定是走HCI,一般都是和AP的PCM相连,通过pcm引脚传输音频

4. 事件:

  

   Event Code:每一个事件就有一个Event Code。

posted @ 2023-05-15 16:09  踏浪而来的人  阅读(106)  评论(0编辑  收藏  举报