An example of using interrupts to control program flow is shown here. The previously discussion focused on using interrupts to exit low power modes. This case will show the interrupts’ ability to offload certain function from the CPU. On the left, a 9600 baud UART is implemented and the UART receive flag is being polled by the CPU to determine when a UART character has been received. In this case, the polling results in a 100% CPU load simply to determine when a character has been received. This is not conducive to low power applications. In the example on the right, the UART has been configured to interrupt the CPU upon character reception. This results in offloading of the polling function from the CPU at a much lower CPU load. In low power applications, this will minimize CPU active time while loading the CPU for polling of status bits maximizes CPU active time. Therefore, interrupts should be used to control program flow and to minimize the CPU active time.