====== MSP430FR5969 Low Power Modes and Interrupts ====== ===== Low Power Modes ===== {{ :microcontrollers:lpm1.png?direct&600 |}} Low power modes can drastically reduce power consumption, going from around a hundred microamps in active mode to under a microamp (or tenths of a microamp) in the 3.x and 4.x low power modes. ==== LPMs in C ==== * Use the following command to enter the x mode, where x = 0,1,2,3,4,3.5,or 4.5: _bis_SR_register( GIE | LPMx_bits ); bis = bit set * To exit LPMx use the following command inside the Interrupt Service Routine ISR, where x = 0,1,2,3,4,3.5,or 4.5 : __bic_SR_register_on_exit(LPMx_bits ); bic = bit clear ==== Low Power Implementation Notes ==== * Choose the appropriate LPM that suits your application. For example, if you use the SPI communication, you need a clock. As result, you have to choose the LPM where the clock source for your SPI is enabled. * To support low power design, configure all unused pins as an input with pull down resistor to prevent them from floating. ===== Interrupts ===== ==== Interrupt Priority ==== {{ :microcontrollers:interrupt1.png?direct&600 |}} ==== Interrupt Implementation Notes ==== * Be aware of the interrupts priorities for the MCU that you are working on. * There are specific interruptible ports. Not all ports of the chip are interruptible. **For port interrupts:** * If the interrupt will fire when the port status changed from Low to High, you should configure the port to be pulled down. * If the interrupt will fire when the port status changed from high to low, you should configure the port to be pulled up. ===== References ===== * Interrupt : https://training.ti.com/msp430-workshop-series-5-12-interrupts?cu=1135311 * Low-Power Optimization : https://training.ti.com/msp430-workshop-series-7-12-low-power-optimization?cu=1135311