请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TIDM-3PHMTR-TAMP-ESD 主题中讨论的其他器件:MSP430F6779、
工具与软件:
您好!
我们正在使用 TIDM-3PHMTR-TAMP-ESD 参考设计硬件来开发使用 MSP430f6779控制器的智能仪表。
我们使用电能测量设计中心工具生成的固件代码。
代码在开发板上运行正常、但当我们尝试在同一固件中添加代码时、我们发现代码即使对于简单的比较 语句也占用异常高的时间(两次比较大约1us)
当我们深入探究以发现问题时、我们发现 MCLK 正在以2MHz 的频率为 CPU 计时(我们通过在 while 循环中切换引脚来检查此情况、方法是绕过包括中断在内的所有其他代码)、尽管它来自代码中的设置、MCLK 配置为在25MHz 上运行。
我们尝试的第二件事是使用以下简单代码来设置 MCLK
main ()
{
WDTCTL = WDTPW + WDTHOLD;
P1DIR |=位4;
UCSCTL0 |= 0x0200;
UCSCTL1 = 0x0060;
UCSCTL2 = 0x11FF;
P1DIR |=位4;
UCSCTL0 |= 0x0200;
UCSCTL1 = 0x0060;
UCSCTL2 = 0x11FF;
while (1)
{
P1OUT ^= BIT4;//切换 P1.4
__delay_cycles (1);
}
{
P1OUT ^= BIT4;//切换 P1.4
__delay_cycles (1);
}
}
我们尝试毫无差错地调整 UCSCTL 寄存器中的值。
提前感谢您的指导
Shekhar