现在想要把MCLK通过FLL倍频到25MHZ。但是发现,如果不打开并配置好XT1,好像某个标志位就会一直置位,导致程序无法运行。如果XT1无法正常工作,系统不是会自动切换到REFO吗?我现在不用XT1,但还要把它打开,很麻烦啊?有没有人能够解释一下啊。非常感谢啊!!!!!!
Maka Luo:
能否把你的晶振配置代码放到论坛上来
ZhaoF:
回复 Maka Luo:
void MCLK_SET(void){ P5SEL |= BIT4|BIT5; UCSCTL6 |= XCAP_3;//适配电容 UCSCTL6 &=~ XT1OFF;//打开XT1
/*上面三句配置XT1,没有的话,MCLK好像就没信号了*/ SetVCore(3); //提高Vcore电压到最高级,以满足倍频需求 __bis_SR_register(SCG0); UCSCTL0 = 0;
UCSCTL1 = DCORSEL_6; UCSCTL2 = FLLD_1 | 380;//FLLD=1,FLLN=380,则频率为2*(380+1)*32.768=24.969MHZ __bic_SR_register(SCG0); __delay_cycles(782000);
while (SFRIFG1 & OFIFG)
{ UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG); SFRIFG1 &= ~OFIFG; } UCSCTL4 = UCSCTL4&(~(SELS_7|SELM_7))|SELS_3|SELM_3;//选择DCO输出作为时钟源}
ZhaoF:
回复 Eric Fu:
非常感谢!