Other Parts Discussed in Thread: CC2630, CC2530
最近在调试cc2630,底板第三方提供的,和smartrf基本一致。zstack使用Z_Stack_Home_1.2.2a版本,使用IAR软件进行编译。
使用IAR打开例程 C:\ti\simplelink\zstack_home_1_02_02a_44539\Projects\zstack\HomeAutomation\SampleDoorLock,将编译好的两个镜像通过jlink烧写进cc2630后,使用cc2630做终端设备,cc2530做协调器,进行组网,组网正常。然后测量待机功耗,发现功耗在1mA左右,远高于芯片手册的提供值。单步调试,发现代码没有进入低功耗模式,相关代码如下:
#if defined( POWER_SAVING ) && !defined(USE_ICALL)
else // Complete pass through all task events with no activity?
{
osal_pwrmgr_powerconserve(); // Put the processor/system into sleep
}
#endif
默认情况,POWER_SAVING没有定义,而USE_ICALL宏进行了定义。POWER_SAVING宏比较容易加进去,但是USE_ICALL宏去掉后编译失败,查看代码发现USE_ICALL宏必须要打开。这样的话,低功耗模式岂不是一直都进不去了吗?