请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430F5438A 大家好 、
客户对 MSP430低功耗有疑问。
客户使用的电路是最小5438A 的直接系统。
XT1连接32768个晶体振荡器、XT2连接16M 晶体振荡器。
在 IPM3模式下、功耗仍然超过400uA
16M 晶体振荡器没有停止振荡、
请在下面找到我的计划。
可以帮助我解决问题吗?
原因是什么?
------------------------
void main( void )
{
WDTCTL = WDTPW+WDTHOLD; //停止 WDT
P5SEL |= BIT2 + BIT3; 为晶体振荡器 XT2输入选择//P5.2和 P5.3
P7SEL |= 0x03;
UCSCTL6 &=~(XT1OFF + XT2OFF);
UCSCTL6 |= XCAP_3;
UCSCTL6 &=~(XT1DRIVE_3);
UCSCTL6 &=~(XT2DRIVE_2);
操作 //循环直到 XT1、XT2和 DCO 稳定
{
UCSCTL7 &=~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG);
SFRIFG1 &=~OFIFG; // 清除振荡器故障标志
// 延迟,等待 XT2开始 振荡
} while (SFRIFG1和 OFIFG); // 判断 XT2是否开始 振荡,
UCSCTL4 |= SELA_XT1CLK + SELESS_XT2CLK + SELM_XT2CLK;
P1OUT = 0x00;
P2OUT = 0x00;
P3OUT = 0x00;
P4OUT = 0x00;
P5OUT = 0x00;
P6OUT = 0x00;
P7OUT = 0x00;
P8OUT = 0x00;
P9OUT = 0x00;
P10OUT = 0x00;
P11OUT = 0x00;
PJOUT = 0x00;
P1DIR = 0xFF;
P2DIR = 0xFF;
P3DIR = 0xFF;
P4DIR = 0xFF;
P5DIR = 0xFF;
P6DIR = 0xFF;
P7DIR = 0xFF;
P8DIR = 0xFF;
P9DIR = 0xFF;
P10DIR = 0xFF;
P11DIR = 0xFF;
PJDIR = 0xFF;
_bis_SR_register (LPM3_bits);
__no_operation();
}
----------------------------------------------------
谢谢。