微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 主机写入特征值成功,但是在CC2541从模式中未看到调用simpleProfile_WriteAttrCB

主机写入特征值成功,但是在CC2541从模式中未看到调用simpleProfile_WriteAttrCB

时间:10-02 整理:3721RD 点击:

手机端蓝牙作为主模式,CC2541作为从模式;

当主机对CC2541写特征值的时候,正常是特征值被主机修改后,先调用了simpleProfile_WriteAttrCB,并且在函数末尾再调用了simpleProfileChangeCB。但是在应用的情况会偶尔出现(大概十几次出现一次)手机端蓝牙已经写入成功,但是在CC2541中调试发现没有调用simpleProfile_WriteAttrCB,当然也未进入SIMPLEPROFILE_CHAR2_UUID,这是什么情况呢?

case SIMPLEPROFILE_CHAR2_UUID:
//Validate the value
// Make sure it's not a blob oper
if ( offset == 0 )
{
if ( len != SIMPLEPROFILE_CHAR2_LEN )
{
status = ATT_ERR_INVALID_VALUE_SIZE;
}
}
else
{
status = ATT_ERR_ATTR_NOT_LONG;
}

//Write the value
if ( status == SUCCESS )
{
uint8 *pCurValue = (uint8 *)pAttr->pValue;

VOID osal_memcpy( pCurValue, pValue, SIMPLEPROFILE_CHAR2_LEN );
notifyApp = SIMPLEPROFILE_CHAR2;
}
break;

在断点不好判断问题的时,抓下包分析看看。首先看交互过程是否有如你所说的writereq和rsp. 

thanks TY,

我抓包分析器查看了,没有发现writereq和rsp(此刻在安卓中调试:采用onCharacteristicWrite 該函数对CC2541写返回是GATT_SUCCESS)

下面是抓包

结束:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top