用的是zll1.0.2协议栈,手头的是隔壁科技zll开发板,目的是想通过zll遥控器发命令使目标板复位。
问题1:touchlink成功后,开关灯,调亮度什么的都可以,但是我发现调用zllInitiator_ResetToFNSelectedTarget();没有反应,追踪代码发现zllTransID=0导致,再追踪代码,发现
if ( events & ZLL_TRANS_LIFETIME_EXPIRED_EVT )
{
zllTransID = 0;
initiatorClearSelectedTarget();
initiatorSetNwkToInitState();
// return unprocessed events
return ( events ^ ZLL_TRANS_LIFETIME_EXPIRED_EVT );
}此段代码导致zllTransID = 0,于是屏蔽了这一段,但是为什么系统会默认执行ZLL_TRANS_LIFETIME_EXPIRED_EVT 呢?
问题2,:屏蔽了问题1的那一段后,zllInitiator_ResetToFNSelectedTarget();可以执行,但是发现还是不能复位,不知道为什么?
Gary1:
补上问题2的抓图:
Gary1:
回复 Gary1:
上面的图不清晰,补上一个清晰的
VV:
回复 Gary1:
下次请用附件形式上传抓包文件。上传截图没什么用
Gary1:
回复 VV:
谢谢TI工程师,zllInitiator_ResetToFNSelectedTarget在touchlink后迅速启用就有效了