以下是测aclk的程序:
#include <msp430x16x.h>
void main(void)
{
int i;
WDTCTL = WDTPW +WDTHOLD; // Stop Watchdog Timer
DCOCTL = DCO0 + DCO1 + DCO2; // Max DCO=3.2M
BCSCTL1=0x00;
//BCSCTL1 = RSEL0 + RSEL1 + RSEL2; // XT2on, max RSEL
do
{IFG1 &= ~OFIFG; //清OSCFault标志
for(i=0XFF;i>0;i--); //延时等待
}
while((IFG1 & OFIFG) != 0); //查OSCFault,为0时转换完成
//BCSCTL2 |= SELS; // SMCLK = XT2,8M
P5DIR |= 0x70; // P5.6,5,4 outputs
P5SEL |= 0x70; // P5.6,5,5 options,define as peripheral
while(1)
{
}
}
我查看ofifg,也为0了,但是打p56就是没有输出
不过这个程序有时在do那里可以过有时又过不了,系统用dco的时候没有问题的,是哪里问题呢?
片子?32k晶振?还是???
完了
现在do那个地方又过不去了,可是我什么都没碰啊
哪位帮忙分析下可能的原因啊??
将P5DIR |= 0x70; // P5.6,5,4 outputs
P5SEL |= 0x70; // P5.6,5,5 options,define as peripheral
放置在设置WDT的后面试试。