同样的程序有时候配对会失败,并返回7是什么问题,要如何解决。
MEMORY CAPACITY EXCEEDED (0x07)
检查一下是否为断开连接,因为协议栈也有07的断开。
如果是加密造成的断开,检查一下是不是主从彻底断开后进行重新连接。
搞好了,我在发现从机并调用GAPRole_CentralEstablishLink之后,立马又开启了扫描,这样操作就会有概率配对失败。加一个else就好了,但是不知道具体原因。
if(centralDevList[i].eventType == 1)
{
GAPRole_CentralEstablishLink(DEFAULT_LINK_HIGH_DUTY_CYCLE,
DEFAULT_LINK_WHITE_LIST,
centralDevList[i].addrType,
centralDevList[i].addr);
// Start establish link timeout event
tmos_start_task(centralTaskId, ESTABLISH_LINK_TIMEOUT_EVT, ESTABLISH_LINK_TIMEOUT);
PRINT("Connecting...\n");
}
//restart scan
else
{
centralScanRes = 0;
GAPRole_CentralStartDiscovery(DEFAULT_DISCOVERY_MODE,
DEFAULT_DISCOVERY_ACTIVE_SCAN,
DEFAULT_DISCOVERY_WHITE_LIST);
}