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.

cc2652rb:更改广播数据

Hi Ti,

我修改广播数据的时候发现:

advertData2[0] = 0x02; // Length of this data
advertData2[1] = GAP_ADTYPE_FLAGS;
advertData2[2] = GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED | GAP_ADTYPE_FLAGS_GENERAL;
// service UUID, to notify central devices what services are included
// in this peripheral
advertData2[3] = 0x03; // Length of this data
advertData2[4] = GAP_ADTYPE_16BIT_MORE; // some of the UUID's, but not all
advertData2[5] = LO_UINT16(SENSORSSERVICE_SERV_UUID);
advertData2[6] = HI_UINT16(SENSORSSERVICE_SERV_UUID);
// Add Manufacturer specific data
advertData2[7] = 0x17; //Length of this data
advertData2[8] = GAP_ADTYPE_MANUFACTURER_SPECIFIC;
memcpy(&advertData2[9],&userAdvData,sizeof(userAdvData));

在广播数据数组中没有加入GAP_ADTYPE_FLAGS字段时,BLE居然无法disconnect?这个现象是正常的吗?能否在advertData2中之加入我需要加的数据?

  • 抱歉,不是无法disconnect,是无法connect......

    我修改广播数据的时候发现:

    advertData2[0] = 0x02; // Length of this data
    advertData2[1] = GAP_ADTYPE_FLAGS;
    advertData2[2] = GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED | GAP_ADTYPE_FLAGS_GENERAL;
    // service UUID, to notify central devices what services are included
    // in this peripheral
    advertData2[3] = 0x03; // Length of this data
    advertData2[4] = GAP_ADTYPE_16BIT_MORE; // some of the UUID's, but not all
    advertData2[5] = LO_UINT16(SENSORSSERVICE_SERV_UUID);
    advertData2[6] = HI_UINT16(SENSORSSERVICE_SERV_UUID);
    // Add Manufacturer specific data
    advertData2[7] = 0x17; //Length of this data
    advertData2[8] = GAP_ADTYPE_MANUFACTURER_SPECIFIC;
    memcpy(&advertData2[9],&userAdvData,sizeof(userAdvData));

    在广播数据数组中没有加入GAP_ADTYPE_FLAGS字段时,BLE居然无法connect?这个现象是正常的吗?能否在advertData2中之加入我需要加的数据?
  • 广播中需要要有GAP_ADTYPE_FLAGS,在advertData2可以写入数据,不过用手机看不到扩展广播
  • 我在已连接状态下 需要更新广播数据,待下次断开后启用新的广播数据,请教下使用哪个函数接口?是否是GapAdv_loadByBuffer?