TI中文支持网
TI专业的中文技术问题搜集分享网站

msp430f5438a可以只用XT2高频时钟吗?

msp430f5438a可以只用高频时钟吗?

需要如何设置?

我设置了始终没能成功启动晶振

SetVcoreUp(PMMCORE_2);

P5SEL |= BIT2+BIT3;

UCSCTL6  &= ~XT2OFF;

do{

UCSCTL7 &= ~(XT2OFFG+XT1LFOFFG+XT1HFOFFG+DCOFFG);

SFRIFG1 &= ~OFIFG;

}while(SFRIFG1&OFIFG);

程序是我在官方例程的基础上改的。仿真中发现,程序一直在while循环中,不能跳出来.

程序到底是什么地方不对,请大神指出来。

灰小子:

可以只用高频时钟的,翻了翻例程没找到这类例子。

详细的使用方法看看手册吧:http://www.ti.com.cn/cn/lit/ug/slau208p/slau208p.pdf  5.2部分

xueyang zhang:

有没有人知道啊,

xueyang zhang:

回复 灰小子:

我看了手册,也看了官方的例程,

在基于官方例程上做了些改动,但是不行,启动不了。

灰小子:

回复 xueyang zhang:

启动不了的原因有很多,能否上传下你的电路图和代码?

user1866843:

如果你只使用XT2,那扫描XT1和DCO干什么呢?

xueyang zhang

msp430f5438a可以只用高频时钟吗?

需要如何设置?

我设置了始终没能成功启动晶振

SetVcoreUp(PMMCORE_2);

P5SEL |= BIT2+BIT3;

UCSCTL6  &= ~XT2OFF;

do{

UCSCTL7 &= ~(XT2OFFG+XT1LFOFFG+XT1HFOFFG+DCOFFG);

SFRIFG1 &= ~OFIFG;

}while(SFRIFG1&OFIFG);

程序是我在官方例程的基础上改的。仿真中发现,程序一直在while循环中,不能跳出来.

程序到底是什么地方不对,请大神指出来。

xueyang zhang:

回复 user1866843:

不扫描xh1和dco也是一样的,都不能启动,一直有SFRIFG1的OFIIG标志位的错误。

灰小子:

回复 xueyang zhang:

楼主你好,能否把完整的错误信息发上来?

一般程序是先判断标志位,等待晶振起振,然后再清除。先清除标志位,再判断的时候晶振不一定成功起振.

程序结构这样:

while (SFRIFG1 & OFIFG){UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG);// 清除三类时钟标志位// 这里需要清除三种标志位,因为任何一种// 标志位都会将OFIFG置位SFRIFG1 &= ~OFIFG;// 清除时钟错误标志位}

xueyang zhang:

回复 灰小子:

WDTCTL=WDTPW | WDTHOLD;

SetVcoreUp(PMMCORE_2);

P5SEL |= BIT2+BIT3;

UCSCTL6  &= ~XT2OFF;

do{

UCSCTL7 &= ~(XT2OFFG);

SFRIFG1 &= ~OFIFG;

}while(SFRIFG1&OFIFG);

程序我改成这样了,编译没有问题,下载之后仿真看到程序一直在while循环中,

xueyang zhang:

回复 灰小子:

我的XT1用于了其他功能得嘛,这个时钟标志位虽然清除了,但是XT1端口没有时钟也一样会出错。问题是不是这样?

赞(0)
未经允许不得转载:TI中文支持网 » msp430f5438a可以只用XT2高频时钟吗?
分享到: 更多 (0)