|
/******************************************************************************
* 函数名:void Init_Clk(void)
* 功 能:系统时钟初始化
* 参 数:无
* 返回值:无
******************************************************************************/
void Init_Clk(void)
{
WDTCTL = WDTPW + WDTHOLD; // 关看门狗
P5SEL |= 0x0C; // 端口功能选择振荡器
UCSCTL6 &= ~XT2OFF; // 振荡器使能
UCSCTL3 |= SELREF_2; // FLLref = REFO
UCSCTL4 |= SELA_2; // ACLK=REFO,SMCLK=DCO,MCLK=DCO
do
{
UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG); // 清除 XT2,XT1,DCO 错误标志
SFRIFG1 &= ~OFIFG;
}while(SFRIFG1&OFIFG); // 检测振荡器错误标志
UCSCTL6 |= XT2DRIVE0 + XT2DRIVE1; // XT2 驱动模式 24~32MHz
UCSCTL4 |= SELS_5 + SELM_5; // SMCLK = MCLK = XT2
}
有时程序会死在里面,这是为什么啊?而且还会出现这些信息:000004 jmp 0x4 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|