蓝牙动态广播的问题(nrf52832平台)
需求:要做动态广播(可连接),要求每分钟广播一次,每次广播持续10s。拟采用方法:用定时器去控制,每分钟的第50s开始广播,第60s结束广播。
问题:为使程序更加可靠健壮,执行启动广播sd_ble_gap_adv_start或结束广播sd_ble_gap_adv_stop语句之前应该加什么限制吗(比如做些if判断)?
比如会不会出现这种情况:在广播10s快结束的时刻,主机扫描到了从机,发出扫描请求,这个时候连接尚未建立,此时应10s到点了,直接结束广播,会导致连接建立失败吗?
附广播参数如下:
#define APP_ADV_FAST_INTERVAL 40
#define APP_ADV_SLOW_INTERVAL 2000
#define APP_ADV_FAST_TIMEOUT 0
#define APP_ADV_SLOW_TIMEOUT 0
#define ADV_INTERVAL_FAST_PERIOD 30
m_adv_params.type = BLE_GAP_ADV_TYPE_ADV_IND;
m_adv_params.p_peer_addr = NULL; // Undirected advertisement
m_adv_params.fp = BLE_GAP_ADV_FP_ANY;
m_adv_params.interval = APP_ADV_SLOW_INTERVAL;
m_adv_params.timeout = APP_ADV_SLOW_TIMEOUT; 如果是还未建立连接就已经停止广播是连接不上的,你用使用有限广播,广播超时设置为10S,广播会超时停止,收到广播停止消息后,切换广播内容,再次广播
页:
[1]