我以前用的是5418,现在用5418A,晶振初始化部分没变,为什么记录24小时时钟慢慢变快了?
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.
这个可能的原因很多了。给您一个文档,按照文档上说的改一下看看。
我已经看过了,下面是我设置晶振的程序,麻烦帮我看一下是不是PMM部分有问题?
void InitialCPU(void)
{
/********************设置晶振****************/
WDTCTL = WDTPW + WDTHOLD; //关看门狗,应放置在第一条可执行语句处
P7SEL |= 0x03; // Analog function for XT1 Pins
UCSCTL6 &= ~XT1DRIVE_3; // Lowest drive strength
UCSCTL6 |= XCAP_3 ; // Internal load cap
UCSCTL4 |= SELA__XT1CLK;
while ( (SFRIFG1 &OFIFG))
{
UCSCTL7 &= ~(XT1LFOFFG + DCOFFG);
SFRIFG1 &= ~OFIFG;
}
UCSCTL0 = 0x00; // Set lowest possible DCOx, MODx
UCSCTL1 = DCORSEL_7; // Select range for 20MHz operation
PMMCTL0 = 0xA500 + PMMCOREV_3; // Set VCore=1.9V
SVSMLCTL = SVMLE + (PMMCOREV_3 * SVSMLRRL0);// Set SVM new Level ,
while ((PMMIFG & SVSMLDLYIFG) == 0); // Wait till SVM is settled (Delay)
PMMIFG &= ~(SVMLVLRIFG + SVMLIFG); // Clear already set flags
if ((PMMIFG & SVMLIFG))
while ((PMMIFG & SVMLVLRIFG) == 0); // Wait till level is reached
PMMCTL0_H = 0x00; // Lock PMM module registers
UCSCTL2 =449;
UCSCTL4 = SELS_3 + SELM_3; // Set MCLK = SMCLK = DCOCLK