This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于ble central接收广播信息的问题

Other Parts Discussed in Thread: CC2540

问题1

ble 的Central设备在Searching Peripheral设备的时候,发现有些设备广播的字段长短不一,而且Central可能发现同一设备多次是怎么回事??

问题2 

Peripheral Device 广播的时候广播的是一些什么东西??格式是什么样的??

我猜测广播的时候就是广播在

在SimpleBLEPeripheral.c 中 的scanRspData内容,但后来发现广播内容还包含 service 的 UUID,为什么

在static bool simpleBLEFindSvcUuid( uint16 uuid, uint8 *pData, uint8 dataLen )中::::::::

***************************************

// For each UUID in list
while ( adLen >= 2 && pData < pEnd )
{
// Check for match
if ( pData[0] == LO_UINT16(uuid) && pData[1] == HI_UINT16(uuid) )
{
// Match found
return TRUE;
}

************************************************

问题3

simpleBLECentral。c  中

// Length of bd addr as a string
#define B_ADDR_STR_LEN 15

字段是什么意思??

是干嘛用的??

  • 目前发现simple Peripheral 程序广播的额数据

    BrodData: 0x140953696D706C65424C4550657269

    前一字节0x14是数据长度

    后一字节0x09是令牌 

    定义在gap.h里面

    问题来了

    问题1:

    :如果不是BLE芯片用的不是TI 的 CC2540,广播的数据是不是就不确定了如

    BrodData:   0x0609466F72(0x06  显然不是数据长度)

    问题2

    广播包格式是不是

    第一数据包长度+第一令牌+第一数据包

    +第二令牌+第二数据包

    +第三令牌+第三数据包

    希望能有人解答,谢谢了

  • 还有我想问一下的是,Service的UUID从哪里获取,如果我并不知道有该service存在的情况下。

    向LightBlue就可以把未知的ServiceUUID和未知的characteristic UUID列举出来。

    当然还能提供查找未知Characteristic UUID的方法就更好了

    感谢热心的TI员工和飞TI员工,能提供的任何解答,谢谢了

  • 调用discoverservices 之后,在didDiscoverservices 会回调发现的service.