使用MSP430F5438A 做实验板,XT2外接24M晶振,两个22PF电容接地。使用TI官网示例代码测试,发现晶振震荡频率正确但幅度最大为0.7V,峰峰值为0.45V,不知道这样的结果是不是正常?更换电容和8M晶振后问题依旧。使用100MHZ示波器测量。希望大家帮忙讲下是怎么回事?谢谢。
下面是使用的测试代码:
#include <msp430.h>
#include "hal_pmm.h"
int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
SetVCore(PMMCOREV_2); // Set VCore to 1.8MHz for 20MHz
P11DIR = BIT1+BIT2; // P11.1-2 to output direction
P11SEL |= BIT1+BIT2; // P11.1-2 to output SMCLK,MCLK
P5SEL |= 0x0C; // Port select XT2
UCSCTL6 &= ~XT2OFF; // Enable XT2
UCSCTL3 |= SELREF_2; // FLLref = REFO
// Since LFXT1 is not used,
// sourcing FLL with LFXT1 can cause
// XT1OFFG flag to set
UCSCTL4 |= SELA_2; // ACLK=REFO,SMCLK=DCO,MCLK=DCO
// Loop until XT1,XT2 & DCO stabilizes
do
{
UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG);
// Clear XT2,XT1,DCO fault flags
SFRIFG1 &= ~OFIFG; // Clear fault flags
}while (SFRIFG1&OFIFG); // Test oscillator fault flag
UCSCTL6 &= ~XT2DRIVE0; // Decrease XT2 Drive according to
// expected frequency
UCSCTL4 |= SELS_5 + SELM_5; // SMCLK=MCLK=XT2
while(1); // Loop in place
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>