请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC2541 您好!
我将使用 SimpleBLEBroadcaster 项目。 如果我使用独立项目、所有项目都可以正常工作、但如果我将其移植到 OAD ImageB 项目、它会在一次发送 广播包后停止。 代码是
HCI_EXT_AdvEventNoticeCmd (beacon 任务 ID、SBP_ADV_CB_EVT);
……
uint16 SimpleBLEBroadcaster 处理器事件(uint8 task_id、uint16事件)
{....
if (Events & SBP_ADV_CB_EVT)
{
advComplete = 1;
返回(事件^ SBP_ADV_CB_EVT);
}
if (事件& SBP_Period_EVT)
{
//重新启动计时器
if (SBP_PERIOD_EVT_PERIOD)
{
OSAL_START_timerEx (beacon 任务 ID、SBP_PERIOD_EVT、SBP_PERIOD_EVT_PERIOD);
}
//执行周期性应用任务
performPeriodicTask();
返回(事件^ SBP_Periode_EVT);
}....
}
静态空 performPeriodicTask( void )
{
new_adv_enabled_status = true;
//将 GAP 广播状态更改为启用
GAPRole_SetParameter (GAPROLE_adverted_enabled、sizeof (uint8)、&new_adv_enabled_status);
……
if (advComplete)//<-此标志始终为0
{
advComplete = 0;
...}
}
因此、我有两个问题:
1.将 GAP 广播状态更改为已启用设备后、仅发送一个数据包;
不会显示 SBP_ADV_CB_EVT 事件。
有人能解释出什么问题吗?
谢谢、
Alex。