从cc2650开发板port到cc2640模块,为什么搜索设备,搜不了几次就死机了
时间:10-02
整理:3721RD
点击:
void SimpleBLECentral_processRoleEvent(gapPeripheralObserverRoleEvent_t *pEvent)
{
switch ( pEvent->gap.opcode )
{
case GAP_DEVICE_INIT_DONE_EVENT:
{
#ifdef DEMO_DEBUG_BUILD
LCD_WRITE_STRING(Util_convertBdAddr2Str(pEvent->initDone.devAddr),
LCD_PAGE1);
#endif
}
break;
case GAP_DEVICE_INFO_EVENT:
{
xx_on_advData(pEvent->deviceInfo.addrType, pEvent->deviceInfo.addr, pEvent->deviceInfo.rssi,
pEvent->deviceInfo.pEvtData, pEvent->deviceInfo.dataLen);
}
break;
case GAP_DEVICE_DISCOVERY_EVENT:
{
// discovery complete
xx_agingTimerCb();
//GAPObserverRole_CancelDiscovery();
GAPObserverRole_StartDiscovery( DEFAULT_DISCOVERY_MODE,
DEFAULT_DISCOVERY_ACTIVE_SCAN,
DEFAULT_DISCOVERY_WHITE_LIST); //DEFAULT_DISCOVERY_WHITE_LIST
}
break;
default:
break;
}
}
程序如上,在cc2650的开发板上都没问题,下载到模块后,如果开启了连续搜索广播,就是不注释GAPObserverRole_StartDiscovery,
没几次设备就会死机
用的PeripheralObserver,这段函数主要是搜索从设备的广播,处理数据。
没用过,模块是自己做的吗?
是自己做的模块 之前是在7*7开发板上写的,弄到4×4自己的模块就有问题,boardconfig里的gpiio都改了,lcd spi driver也都删了
同样的问题可以在SimpleBLEPeripheralObserver里也加上连续discovery复现,都会发生busfault
