This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

怎么把ZIGBEE的功耗降到极低?

有没有什么办法可以把ZIGBEE的功耗降到极低,而又不影响通信;有没有这方面成功的案例和例程

  • 若是终端节点的话,可以进入低功耗模式 PM3 。 但一般进入低功耗会禁用晶振,导致无法传输无线信息,只能等其被唤醒后去父节点请求被缓存的消息。  

    请问您现在的应用环境是怎样的?

  • 你好Susan, 我在调试的时候发现只能进入PM2,要有什么条件才能进入PM3呢???

  • 当你把zgPollRate=0,当系统的timeout为0的时候,就会进入PM3 /* HAL_SLEEP_PM2 is entered only if the timeout is zero and * the device is a stimulated device. */ halPwrMgtMode = (timeout == 0) ? HAL_SLEEP_DEEP : HAL_SLEEP_TIMER; /* DEEP sleep can only be entered when zgPollRate == 0. * This is to eliminate any possibility of entering PM3 between * two network timers. */

  • Hi Susan

    1. 注释里面是不是写错了啊????

    /* HAL_SLEEP_PM2 is entered only if the timeout is zero and * the device is a stimulated device. */

    2. 另外请教一下stimulated device是个什么概念?

    3. 通过单步调试能看到设备可以进入PM3么,也就是halPwrMgtMode的值可以看到是HAL_SLEEP_DEEP?


    Thanks

  • 注释没有错误的 

     /* DEEP sleep can only be entered when zgPollRate == 0.
       * This is to eliminate any possibility of entering PM3 between
       * two network timers.
       */
    您可以参考hal_sleep.c 
     http://zigbee-in-supermaket.googlecode.com/svn/trunk/Components/hal/target/CC2530ZNP/hal_sleep.c   
  • 我都晕死了,PM3是不是deep sleep? 代码注释的地方明显是有矛盾的。。。。到底哪个是对的

    /* HAL_SLEEP_PM2 is entered only if the timeout is zero and
       * the device is a stimulated device.
       */
      halPwrMgtMode = (timeout == 0) ? HAL_SLEEP_DEEP : HAL_SLEEP_TIMER;

    /* DEEP sleep can only be entered when zgPollRate == 0.
       * This is to eliminate any possibility of entering PM3 between
       * two network timers.
       */