各位好:
我现在在用430的5438A做一款控制器,使用的板件为自己设计的板件,编译器采用IAR5.30在XP的操作系统上面,
板件上未设计XT1的输入,晶振只设计了一个XT2的晶振,目前在调试中发现的问题是:
在XT2焊接为8M的晶振时,程序调试正常,我现在想把板件的速度提起来,要把主频的速度放到20M,在XT2焊接成20M的晶振时,整个程序停止运行,在查阅资料时发现,可以通过FLL技术来进行倍频,就把晶振又焊接回8M,但是此时无论如何设置,想把主频跑到24M,无论如何设置 UCSCTL2中的 FLLN;,主频始终是8M,没有改变,将程序贴出来,请给与解答,谢谢
P5SEL |= BIT2 + BIT3; // Port select XT2
UCSCTL6 &= ~XT2OFF; // Enable XT2
UCSCTL6 |= XT2DRIVE0 + XT2DRIVE1; // Enable XT2
UCSCTL6 |= XT2BYPASS; // Enable XT2
UCSCTL1 = DCORSEL_4;
UCSCTL2 = FLLN1;
UCSCTL3 |= SELREF_5; // FLLref = XT2
UCSCTL4 |= SELA_2 + SELS_3 + SELM_3; // SMCLK=MCLK=XT2
// 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