TI中文支持网
TI专业的中文技术问题咨询交流网站

Z-stack 怎么在应用层获取读写属性结果?

1、已经实现属性的读写与应答,在空中可以看到操作的结果。

2、怎么能在zclapp_event_loop中来获取这个结果?

3、在zclapp_ProcessInReadRspCmd和zclapp_ProcessInWriteRspCmd中数据都不会进入。

4、需要怎么配置,才能在 _event_loop中可以获取这个信息?

Viki Shi:

请问所使用的协议栈版本及芯片分别是什么?

YiKai Chen:

project有沒有加上defined symbols: ZCL_READ跟ZCL_WRITE,如果有,先去查看看你的zclapp_ProcessIncomingMsg有沒有加上"case ZCL_CMD_READ_RSP:"和ase ZCL_CMD_WRITE_RSP:去調用zclapp_ProcessInReadRspCmd和zclapp_ProcessInWriteRspCmd

Joel Cao:

回复 Viki Shi:

Z-stack 3.0.2 芯片CC2530

Joel Cao:

回复 YiKai Chen:

ZCL_READ和ZCL_WRITE都有定义了,zclapp_ProcessIncomingMsg中也有二个case,关键是其读写属性操作都是在底层直接完成了,在zcl.c中有定义 static CONST zclCmdItems_t zclCmdTable[],不会返回应用层去处理。所以在zclapp_event_loop根本就没有操作处理的反馈,已经在这里跟过了,相应信息。

YiKai Chen:

回复 Joel Cao:

ZCL_CMD_READ_RSP/ZCL_CMD_WRITE_RSP會透過zcl_HandleExternal去送給zclapp_ProcessIncomingMsg才對,你可以設置斷點在zcl_HandleExternal里頭去調試看看

Joel Cao:

回复 YiKai Chen:

zcl_HandleExternal在接受到ZCL_CMD_READ_RSP或ZCL_CMD_WRITE_RSP指令时才会操作。我这里本身是收到ZCL_CMD_READ或ZCL_CMD_WRITE指令,只会执行zclProcessInReadCmd或zclProcessInWriteCmd(在执行中返回ZCL_CMD_READ_RSP或ZCL_CMD_WRITE_RSP指令),所以应用层无法知道属性被写过了。除非只有修改协议层的函数了。

YiKai Chen:

回复 Joel Cao:

如果是要處理ZCL_CMD_READ或ZCL_CMD_WRITE指令,只能修改协议层的函数

赞(0)
未经允许不得转载:TI中文支持网 » Z-stack 怎么在应用层获取读写属性结果?
分享到: 更多 (0)