三、BLE初始化流程
—> ICall_registerApp注册,必须首先调用
—> 设置GAP层,例如广播间隔等参数
—> 设置GAPRole,例如是否开启广播等、连接参数等
—> 设置配对与绑定,例如是否开启绑定,以及绑定模式
—> 添加服务,设置服务参数并注册服务回调函数
—> 启动设备
—> 其他硬件配置
3.1 ICall_registerApp注册
ICall_registerApp 函数就是注册当前app任务,只有注册之后, ICall 的接口才会辨认我们这个 app 的消息与事件操作。
// ******************************************************************
// N0 STACK API CALLS CAN OCCUR BEFORE THIS CALL TO ICall_registerApp
// ******************************************************************
// Register the current thread as an ICall dispatcher application
// so that the application can send and receive messages.
ICall_registerApp(&selfEntity, &sem);
3.2 设置GAP层如果你是广播者工程, 这一条语句是可以忽略的
// Setup the GAP GAP_SetParamValue(TGAP_CONN_PAUSE_PERIPHERAL, DEFAULT_CONN_PAUSE_PERIPHERAL);
设置广播间隔
// 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); }
|