从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