有限发现模式和普通模式的区别是什么?
想问一下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
普通模式还可以设置为广播一段时间后不再广播