MSP430F5529 DriverLib 库函数学习笔记(十三)认识低功耗模式
目錄
- 硬知識
- 低功耗模式
- MSP430單片機各工作模式下的電流消耗
- API
- 進入低功耗模式
- 退出低功耗模式
平臺:Code Composer Studio 10.3.1
MSP430F5529 LaunchPad? Development Kit
(MSP?EXP430F5529LP)
硬知識
低功耗模式
???????MSP430單片機具有7種低功耗模式(LPM0~4、LPM3.5和LPM4.5,并非全部系列都具有),通過不同程度的休眠,可降低系統功耗。在任何一種低功耗模式下,CPU都被關閉,程序將停止執行,直到被中斷喚醒或單片機復位。因此在進入任何一種低功耗模式之前,都必須設置好喚醒CPU的中斷條件、打開中斷允許位、等待被喚醒,否則程序將有可能永遠停止運行。
???????MSP430單片機具有3種時鐘信號:輔助時鐘ACLK、子系統時鐘SMCLK、主系統時鐘MCLK。MSP430單片機能夠實現低功耗的根本原因是在不同的低功耗模式下關閉不同的系統時鐘,關閉的系統時鐘越多休眠模式越深。具體是通過CPU狀態寄存器SR中的SCG1、SCG2、OSCOFF和CPUOFF這4個控制位的配置來關閉系統時鐘。通過配置這些控制位,可使MSP430單片機從活動模式進入到相應的低功耗模式。再通過中斷方式從各種低功耗模式回到活動模式。各模式之間的轉換關系如圖所示。
MSP430工作模式列表
MSP430單片機各工作模式下的電流消耗
???????活動模式下流入VCC的電流(不包含外部電流)
???????低功耗模式下流入VCC的電流(不包含外部電流)
????????MSP430單片機低功耗模式與時鐘系統息息相關,從本質上來說,不同的低功耗模式是通過關閉不同的系統時鐘來實現的。關閉的系統時鐘越多,MSP430單片機所處的低功耗模式越深,功耗越低。大家可充分利用MSP430單片機時鐘系統和低功耗結構編出高效穩定的程序代碼,且使單片機功耗降至最低。
API
進入低功耗模式
LPM0; // 進入低功耗模式0 __bis_SR_register(LPM0_bits); // 進入低功耗模式0 LPM1; // 進入低功耗模式1 __bis_SR_register(LPM1_bits); // 進入低功耗模式1 LPM2; // 進入低功耗模式2 __bis_SR_register(LPM2_bits); // 進入低功耗模式2 LPM3; // 進入低功耗模式3 __bis_SR_register(LPM3_bits); // 進入低功耗模式3 LPM4; // 進入低功耗模式4 __bis_SR_register(LPM4_bits); // 進入低功耗模式4__bis_SR_register(LPMx_bits + GIE); // 常用,進低功耗模式x,啟用中斷(x=0~4)退出低功耗模式
LPM0_EXIT; // 退出低功耗模式0 __bic_SR_register_on_exit(LPM0_bits); // 退出低功耗模式0 LPM1_EXIT; // 退出低功耗模式1 __bic_SR_register_on_exit(LPM1_bits); // 退出低功耗模式1 LPM2_EXIT; // 退出低功耗模式2 __bic_SR_register_on_exit(LPM2_bits); // 退出低功耗模式2 LPM3_EXIT; // 退出低功耗模式3 __bic_SR_register_on_exit(LPM3_bits); // 退出低功耗模式3 LPM4_EXIT; // 退出低功耗模式4 __bic_SR_register_on_exit(LPM4_bits); // 退出低功耗模式4 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的MSP430F5529 DriverLib 库函数学习笔记(十三)认识低功耗模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用ndk standalone工具链来
- 下一篇: Exynos4412 IIC总线驱动开发