TI论坛
直播中

臧超楠

7年用户 189经验值
私信 关注
[问答]

zll灯端问题求解,关于zllSampleLight_OnOffCB函数

我的片子是cc2530f256,现在遇到一个问题,请ti的工程师帮帮忙
我在桥端发了一个开灯的命令,也就是COMMAND_ON,灯端收到命令后,会调用zllSampleLight_OnOffCB这个函数
我的问题是,为什么在这边函数中,条件满足后却不执行,我在线debug,这个地方也不能打断点,而是直接跑到下面的taggle的部分去了
后来我又试了下关灯的命令,结果是一样的,也是直接跑到下面的taggle部分去了,我不能理解,为什么条件满足却不能执行
static void zllSampleLight_OnOffCB( uint8 cmd )
[
// Turn on the light
if ( cmd == COMMAND_ON )  //当收到COMMAND_ON时为什么条件满足却不执行
[
zllSampleLight_OnOff = LIGHT_ON;      //此处为什么不能打断点
zllSampleLight_GlobalSceneCtrl = TRUE;
if ( zllSampleLight_OnTime == 0 )
[
zllSampleLight_OffWaitTime = 0;
]
]
// Turn off the light
else if ( cmd == COMMAND_OFF )//当收到COMMAND_OFF命令时,这边满足条件却不执行
[
zllSampleLight_OnOff = LIGHT_OFF;//此处为什么不能打断点
//zllSampleLight_GlobalSceneCtrl = FALSE; //see ZLL spec 11-0037-03 6.6.1.2.1
zllSampleLight_OnTime = 0;
]
// Toggle the light
else
[
if ( zllSampleLight_OnOff == LIGHT_OFF )  //当收到COMMAND_ON时,跑到这里,
[
zllSampleLight_OnOff = LIGHT_ON;   //这边都可以打断点
zllSampleLight_GlobalSceneCtrl = TRUE;
if ( zllSampleLight_OnTime == 0 )
[
zllSampleLight_OffWaitTime = 0;
]
]
else
[
zllSampleLight_OnOff = LIGHT_OFF;//当收到COMMAND_OFF命令时,执行这里
zllSampleLight_OnTime = 0;
]
]
hwLight_UpdateOnOff( zllSampleLight_OnOff );
zllSampleLight_SceneValid = 0;
]
不知道我的意思描述的清楚不?希望能看懂,并且尽快给我答复,谢谢了!

回帖(5)

臧超楠

2018-8-8 06:13:13
有没有人来帮我解答一下啊?
举报

李果

2018-8-8 06:26:43
首先你发送的on/off命令,灯有没有正常的相应。
没办法断点,可能是IAR优化代码的缘故。
你也可以通过空中抓包把这个过程看下。
举报

臧超楠

2018-8-8 06:36:41
引用: wenlonghbo 发表于 2018-8-8 06:26
首先你发送的on/off命令,灯有没有正常的相应。
没办法断点,可能是IAR优化代码的缘故。
你也可以通过空中抓包把这个过程看下。

首先很感谢vv帮我解答问题,我发送的on/off命令,灯是可以正常的响应的 其次,我不知道为什么这边会被优化,这边应该是很正常的条件语句啊 我是在读灯的开关属性的时候,发现这边的问题的
举报

臧超楠

2018-8-8 06:52:47
引用: wenlonghbo 发表于 2018-8-8 06:26
首先你发送的on/off命令,灯有没有正常的相应。
没办法断点,可能是IAR优化代码的缘故。
你也可以通过空中抓包把这个过程看下。

首先很感谢vv帮我解答问题,我发送的on/off命令,灯是可以正常的响应的 其次,我不知道为什么这边会被优化,这边应该是很正常的条件语句啊 我是在读灯的开关属性的时候,发现这边的问题的,灯的属性读出来总是0 ,不知道zll官方协议对这边有没有做
举报

更多回帖

发帖
×
20
完善资料,
赚取积分