This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430G2553:LPM4设置-高睡眠电流

Guru**** 2553450 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/792165/msp430g2553-lpm4-settings---high-sleep-current

器件型号:MSP430G2553

大家好、   

我有一些在 LPM4期间具有高睡眠电流的代码。   我已经创建了一个分支、除了  a) 设置所有引脚分配、 b) 设置一些时钟、ADC、UART 设置、 c)进入 LPM4睡眠  模式、因此基本上系统开启、执行一些内务处理并进入睡眠模式。

LPM4中的高睡眠电流可能与硬件相关、但在提出建议之前、我需要确保软件具有项目符号保护。

这是一个代码片段。   所有引脚分配(P1DIR、P1REN、P1OUT 等)均设置为输出高电平或低电平、无电阻使能。  所有端口选择设置(PSEL、P2SEL、P3SEL 等)都设置为0、因此端口都是通用 I/O

////////////////////////////////////////////////////////////////////////////// 代码片段////////////////////////////////////////////////////////////////////////////////////////////

DCOCTL = 0;//选择最低 DCOx 和 MODx 设置

BCSCTL1 = CALBC1_1MHz;//设置 DCO

DCOCTL = CALDCO_1MHz;

//禁用 UART
UCA0CTL1 |= UCSWRST;//**停用 USCI 状态机**
IE2 = 0;//禁用所有 USCI_A0中断

//禁用 ADC 转换
ADC10CTL0 &=~ADC10IE;
ADC10CTL0 &=~ADC10ON;
ADC10CTL0 &=~REFON;
ADC10CTL0 &=~ADC10SHT_2;
ADC10CTL0 &=~SREF_1;

//停止看门狗计时器
WDTCTL = WDTPW + WDTHOLD;//停止 WDT -也将时钟复位到 SMCLK

_bis_SR_register (LPM4_bits);//输入 LPM4 -未启用全局中断


////////////////////////////////////////////////////////////////////////////// 代码片段的结尾////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

执行上述操作是否有任何问题?   在进入 LPM4之前、我还应该做什么?  

我的理解是、LPM4基本上会禁用所有功能-时钟等、因此这些设置实际上无关紧要。  是否有人对进入 LPM4有任何代码引用?

谢谢!