• (6) zigbee学习笔记协议栈开启省电模式


    大家都知道2430有3种睡眠模式,pm2模式比较省功耗而且可以被定时唤醒;pm3模式最省电但是只能被外部中断唤醒。开启睡眠功能很简单:

    首先确认/Texas Instruments/ZStack-1.4.3-1.2.1/Projects/zstack/Tools/CC2430DB目录下的f8wConfig.cfg文件中DRFD_RCVC_ALWAYS_ON定义为FALSE;
    然后在IAR的Options->C/C++Compiler->Defined symbols中添加“POWER_SAVING”;
    最后在Options->Linker->Linker command line里面把f8w2430.xcl改为f8w2430pm.xcl。

    在定义“POWER_SAVING”宏以后OSAL.c中的osal_start_system()函数里面就会调用 osal_pwrmgr_powerconserve()函数。osal_pwrmgr_powerconserve()函数把获取os层timer的下 一次的到时时间作为参数,调用hal_sleep()进入pm2睡眠模式,如果当前没有任务那么将进入pm3。所以说一旦启用省电模式,系统将根据当前的 任务自动进入睡眠,睡眠前设置sleeptimer,醒来的时间刚好等于下次任务到来的时间,当完成任务后再次进入睡眠。

  • 相关阅读:
    Druid.io系列(三): Druid集群节点
    Druid.io系列(二):基本概念与架构
    Druid.io系列(一):简介
    am335x backlight
    imx6 fec分析
    imx6 ar8031 千兆网卡不能用
    imx6 spi分析
    imx6 i2c分析
    imx6 uart分析
    imx6 gpio分析
  • 原文地址:https://www.cnblogs.com/sierllen/p/2870072.html
Copyright © 2020-2023  润新知