Sleep or Idle PIC32

microdata-cb wrote on Monday, January 20, 2014:


Sorry for my English.
I have three active tasks one of which is used as a hook all’interrups
serial. I have to send the PIC32 in sleep or idle mode and wake up
with the serial interrupt. Can you provide a code example?

rtel wrote on Monday, January 20, 2014:

There are two ways of doing this.

The first is to write an idle hook function that simply places your CPU into its sleep mode. The idle hook will only get called when there aren’t any higher priority tasks that are able to run - so it provides an automatic way of knowing when there is no application processing to do. You can achieve a big saving in power using this method, but you still need to service tick interrupts, which means coming out of sleep mode periodically. Therefore…

The second method is to use the tickless idle mode. Tickless idling will turn off the tick interrupt when there is nothing to do for an extended period, but make sure the microcontroller is awake again when it next needs to do somthing. It removes the overhead of having to repeatedly service tick interrupts when there is no actual processing that needs to be done. There are no examples that are specific for the PIC32 but there are several examples for other microcontrollers that you could use as a reference:


microdata-cb wrote on Monday, January 20, 2014:

I work with FreeRTOS 7.4.0