打印
[MCU]

见鬼了,我的XT2是4MHZ晶体,为什么MCLK不能工作在4MHZ上?

[复制链接]
302|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
两只袜子|  楼主 | 2020-11-10 14:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
时钟初始化是这样的:
芯片用的是MSP430F435IPM
void ClockInit(void)
{
uInt i;
// set load capacitance for 32k xtal
FLL_CTL0 |= XCAP18PF;
// clear bit = high freq xtal on
FLL_CTL1 = FLL_CTL1 & ~XT2OFF;
// test high freq oscillator fault flag
do // loop until flag is clear
{
FLL_CTL0 = FLL_CTL0 & ~XT2OF; // clear high freq oscillator fault flag
for (i = 50000; i; i--); // delay for crystal to start and FLL to lock
}
while (FLL_CTL0 & XT2OF); // test high freq oscillator fault flag
// switch MCLK SMCLK = HF xtal
FLL_CTL1=SELS+SELM_XT2;
P1DIR = 0x32; // P1.1, P1.4 & P1.5 to outputs
P1SEL = 0x32; // P1.1, P1.4 & P1.5 functions to output

}

我测量P1.4是32.768KHZ(肯定是正确的)
P1.5是4MHZ (肯定也是正确的)
P1.1是1MHZ (肯定是不正确的!!!!!)
观察FLL_CTL1的值为0x14,也就是说选择肯定是对的,为什么MCLK会工作在DCO上呢?

请大虾帮忙看看!

使用特权

评论回复

相关帖子

沙发
zhangmangui| | 2020-11-10 23:25 | 只看该作者
IO口上测试频率肯定是不准确  因为IO口的翻转性能不一样 有的强

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2038

主题

7364

帖子

10

粉丝