This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Modes of operation

Hi, i try to understand how to use power down modes. But i have a problem in the example (nRF24LE1 REGISTER RETENTION TIMER ON).

while(1)
{
// Register retention mode
PWRDWN = 0x04;
// Standby mode (wait for interrupt)
PWRDWN = 0x07;
// Clear PWRDWN
PWRDWN = 0x00;
// Continue to run code
P03 = !P03; 
};

I would like to ask why after the chip enters register retention mode, the chip enters standby mode and the reason to do this. Thanks...

Parents
  • Hi, the example run a wakeup_tick() interrupt at a given interval at lowest possible power. When using wakeup from RTC, the CPU will wakeup about 1.5ms before the actual tick interrupt. This 1.5ms period is there to startup the external 16MHz crystal, and ensure that the CPU will be running from the accurate external 16MHz crystal when the actual tick interrupt occurs. To save power during the 1.5ms startup time, the example put the CPU in standby mode, the application could potentially do other processing, or even a while(1); loop.

Reply
  • Hi, the example run a wakeup_tick() interrupt at a given interval at lowest possible power. When using wakeup from RTC, the CPU will wakeup about 1.5ms before the actual tick interrupt. This 1.5ms period is there to startup the external 16MHz crystal, and ensure that the CPU will be running from the accurate external 16MHz crystal when the actual tick interrupt occurs. To save power during the 1.5ms startup time, the example put the CPU in standby mode, the application could potentially do other processing, or even a while(1); loop.

Children
No Data
Related