TI你好,我再使用MSP430F1611开发的时候发现几个问题如下,想请教解决方法:
1,XT1外接8MHz的水晶振子,当我把MCLK和SMCLK的时钟源切换为外部晶振的时候,IFG1:OFIFG位会自动置1且无法清零,请问如何才能解决?
代码如下:
do //wait stable
{
IFG1 = 0; //clear flag
for(i=0; i<0x50; i++); //wait about 50us
}while((IFG1&0x02) == 0x02); //check flag
BCSCTL2 |= 0xC8; //switch MCLK=XT1 SMCLK=XT1
就是在最后一句这里执行过后,IFG1:OFIFG就会自动置1,且无法清零。
2. 执行MCLK和SMCLK时钟源切换后P5.5/SMCLK就无法输出SMCLK的频率
使用默认时钟源DCO时,P5.5可以清除的输出SMCLK的频率,但是切换到外部晶振以后P5.5就无法输出SMCLK的频率了,输出是一个固定高电平,请问如何解决?
代码如下:
P5SEL |= 0x20; //p5.5 SMCLK output
P5DIR |= 0x20; //p5.5 SMCLK output
//如果下面这段时钟切换,P5.5可以输出SMCLK,但是执行这段以后P5.5就无输出了
do //wait stable
{
IFG1 = 0; //clear flag
for(i=0; i<0x50; i++); //wait about 50us
}while((IFG1&0x02) == 0x02); //check flag
BCSCTL2 |= 0xC8; //如果没有这段,P5.5可以输出SMCLK,但是执行这段以后P5.5就无输出了
3. SPI的TX中断使能位,IE1:UTXIE0和IE1:URXIE0时钟无法被置1。
代码如下:
IE1 |= 0xC0; //RIE enable, TIE enable,执行这句话以后IE1无任何变化
求大虾指点,多谢!