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修改蓝牙的发现模式(Discoverable)有限可发现模式(GAP_ADTYPE_FLAGS_LIMITED)普通发现模式(GAP_ADTYPE_FLAGS_GENERAL)有什么区别。

我自己感觉好像只是普通发现模式可以设置持续广播的过程。但是设置间断性地广播,好像两种模式都可以实现。

  • By setting “General Discoverable”, device will continuously advertise as long as advertisements are enabled。

    If set to “Limited Discoverable” (0x01), when advertisements are enabled the device will advertise for a limited time, stop for 10 seconds, and repeat

  • 1.在Limited Discoverable下,我做了一个实验(实验已成功):

      实验内容是:使能开启之后,限制广播在20s之后停止,然后15s之后重新广播,如此反复

      代码实现

         uint16  gapRole_AdverOffTime = 15000;

         GAPRole_SetParameter(GAPROLE_ADVET_OFF_TIME,sizeof(uint16),&gapRole_AdvertOffTime);

         uint16 ADV_TIMEOUT = 20;

         GAP_SetParamValue(TGAP_LIM_ADV_TIMEOUT,ADV_TIMEOUT);

    2.在General Discoverable下,我同样做了一个实验(实验已成功):

        实验内容:循环间断限时广播,使能打开广播之后,广播20s停止广播,过15s之后自动重新开始广播,如此反复。

        代码实现:

        #define DEFAULT_ADV_DURATION        20000

        GAP_SetParamValue(TGAP_GEN_DIS_ADV_MIN,DEFAULT_ADV_DURATION);

        uint16 gapRole_AdverOffTime = 15000;

        GAPRole_SetParameter(GAPROLE_ADVERT_OFF_TIME,sizeof(uint16),&gapRole_AdverOffTime);

     

    这两种方式的效果是一样的,所以有点糊涂了,这两种方式在这种情况下应该是没有的区别的吧?

       


  • 确实是可以,这种情况下实现功能一样,Limited Discoverable下就不需要设置DEFAULT_ADV_DURATION   

    普通模式还可以设置为广播一段时间后不再广播