您好!
我在 cc2650stk 上使用 simple_broadcaster、我希望它每隔100ms 进行一次广播、不会中断。 除了将 DEFAULT_advertising_interval 设置为160之外、我还必须执行其他操作吗?
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.
Panagiotis、您好!
您的想法是正确的、但是您还应该参阅 《CC2640 BLE 软件开发人员指南 》的第5.1.8节、了解 GAP 层的其他广播间隔值。 您还可以参阅 相关的 E2E 主题。
此致、
Ryan
在我的示例中、没有 DEFAULT_DISCOVERATE_MODE、因此我更改 了 broadcast.c 中的 gapRole_AddertData[B_MAX_ADV_LEN]
static uint8_t gapRole_AdvertData[B_MAX_ADV_LEN] = { 0x02, // length of this data GAP_ADTYPE_FLAGS, // AD Type = Flags // BR/EDR not supported GAP_ADTYPE_FLAGS_GENERAL, //it was GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED originaly 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 };
我做得对吗?
我正在使用 休眠模块 来扫描这些广播、但我是以随机间隔而不是100ms 获得这些广播、因此我尝试消除可能的原因来解释这种情况的发生原因。
此外、相关 E2E 主题的链接也会带我查看开发人员指南
对于 simple_broadcaster、它应位于 SimpleBLEBroadcaster _init 中、通常位于您提供的代码的正下方。
// Set advertising interval { uint16_t advInt = DEFAULT_ADVERTISING_INTERVAL; GAP_SetParamValue(TGAP_LIM_DISC_ADV_INT_MIN, advInt); GAP_SetParamValue(TGAP_LIM_DISC_ADV_INT_MAX, advInt); GAP_SetParamValue(TGAP_GEN_DISC_ADV_INT_MIN, advInt); GAP_SetParamValue(TGAP_GEN_DISC_ADV_INT_MAX, advInt); }
您还可以使用 Smart RF 监听器2 来检测广播数据包或根据 功耗 峰值做出假设。
此致、
Ryan