骑猪去天山 发表于 2020-3-12 15:51
Asheng,
那是因为默认的分配给stack的flash空间不够了。
在stack工程下,TOOLS目录下,IAR-Boundary.xcl,把ICALL_STACK0_ADDR改成比如0x0000E000,加点空间给stack就行。
Yan:
您好,昨天解决了发送消息给手机,但是今天测试时来电或者短信都无法进入 Ancs_notifGattMsg(pMsg); 这个函数??
例子如下:
static uint8_t SimpleBLEPeripheral_processGATTMsg(gattMsgEvent_t *pMsg)
[
if(pMsg->method == ATT_HANDLE_VALUE_NOTI ||
pMsg->method == ATT_HANDLE_VALUE_IND) [
Ancs_notifGattMsg(pMsg);
]
else if((pMsg->method == ATT_READ_RSP || pMsg->method == ATT_WRITE_RSP) ||
(pMsg->method == ATT_ERROR_RSP &&
(pMsg->msg.errorRsp.reqOpcode == ATT_READ_REQ ||
pMsg->msg.errorRsp.reqOpcode == ATT_WRITE_REQ))) [
Ancs_controlGattMsg(pMsg);
if(configCCCDState == CCCD_CONFIG_DONE) [
AncsdiscoveryCmpl = TRUE;
]
]
else [
AncsApp_discState = Ancs_discGattMsg(AncsApp_discState, pMsg);
if(AncsApp_discState == DISC_IDLE) [
if(configCCCDState == CCCD_CONFIG_NOTIF) [
Ancs_subsNotifSrc();
configCCCDState = CCCD_CONFIG_DATA;
]
]
]
......
在这里我把 Ancs_subsNotifSrc(); 的状态打印出来后是0,表示发送成功了。但是现在就遇到有来电时无法进去 Ancs_notifGattMsg(pMsg); ??请问这个也跟协议栈有关系吗??
麻烦协助解决,谢谢!