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.

广播失败求帮忙



在使能广播功能时,gapMakeDiscoverableRspEvent_t 返回出错。之前的GAP_MakeDiscoverable( gapRole_TaskID, &params )函数调用成功。

但是在gapRole_ProcessGAPMsg中的GAP_MAKE_DISCOVERABLE_DONE_EVENT事件处理时,

pPkt->hdr.status :0x12

pPkt->hdr.event :0xd0

pPkt->opcode :0x03

pPkt->hdr.status这个状态不是SUCCESS,找不到这个status的原因。

原本直接在HidDev_Report这个函数中调用hidDevInitialAdvertising能广播成功,但是现在设置了一个广播事件,然后在HidDev_ProcessEvent处理函数中去处理这个广播事件,也是直接调用hidDevInitialAdvertising,但是就出现了上面的结果了。

请问这个是什么原因引起的?

  • 找到问题了,好像是广播包的间隔时间太小,就会出问题。

    之前设置的广播包时间:

    #define HID_HIGH_ADV_INT_MIN 16
    #define HID_HIGH_ADV_INT_MAX 32

    现在改成

    #define HID_HIGH_ADV_INT_MIN 24
    #define HID_HIGH_ADV_INT_MAX 48

    文档中也没有对广播包的时间有什么要求,坑爹啊。

    另外为什么不能把广播包再改小?BLE中最小广播包的时间是在20~40ms之间?