本帖最后由 e08610318 于 2013-1-28 08:46 编辑
时钟配置函数我是这么写的
void Init_Clk(void)
{
UCSCTL3 |= SELREF_2; // FLLREFCLK选择使用REFOCLK
//UCSCTL2 = FLLD_1 + 374;
#if BUS_CLOCK_MHZ == 16
//16M时,N = 16M/32768-1 = 487 微调为489 -> 16.05MHz
UCSCTL2 = FLLD_1 + 489; //选择FLLD_1对应D = 2
#elif BUS_CLOCK_MHZ == 24
//24M时,N = 24M/32768-1 = 732 -> 24.019MHz
UCSCTL2 = FLLD_1 + 732; //选择FLLD_1对应D = 2
#else
#error "BUS_CLOCK_MHZ暂不支持16M和24M以外的其他时钟频率"
#endif
}
请问这个初始化有没有问题?测试的时候,我先把定时器时钟的时钟源切换到内部32768,没有问题。然后我把SMCLK作为时钟源(和MCLK一样都设置为16M),结果测试的时候发现出来的频率不对。
|