请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC2652R 工具/软件:WEBENCH设计工具
在 ZCL .c 中的函数"zclParseInConfigReportCmd"中、在计算 Attr 编号的第一个循环中、如果数据类型不是模拟类型、 则可报告的更改字段的长度为0字节、因此应删除"pBuf++"。
void *zclParseInConfigReportCmd ( zclParseCmd_t *pCmd )
{.....
//计算请求命令的长度
while (pBuf <(pcmd->pData + pcmd->dataLen)
{
uint8方向;
numAttr++;
方向=*pBuf++;
pBuf += 2;//移动传递属性 ID
//是否有可报告更改字段?
如果(Direction =ZCL_SEND_ATTR_REPORTS)
{
数据类型=*pBuf++;
pBuf += 4;//移动传递最小和最大报告间隔
//对于“离散”数据类型的属性,忽略此字段
if ( zclAnalogDataType( datatype ))
{
reportChangeLen = zclGetDataTypeLength (数据类型);
pBuf +=报告 ChangeLen;
//根据需要添加填充
if (padding_need( reportChangeLen ))
{
报告 ChangeLen++;
}
dataLen += reportChangeLen;
}
/*删除此代码
其他
{
pBuf++;//移过可报告更改字段
}
*/
}
其他
{
pBuf += 2;//移动通过超时周期
}
}// while 循环
......
}