大家好!我用的是MSP430FR5969,目前遇到一个问题:
do {
CSCTL5 &= ~LFXTOFFG; // Clear XT1 fault flag
SFRIFG1 &= ~OFIFG;
} while (SFRIFG1 & OFIFG); // Test oscillator fault flag
程序到这里过不了,查看寄存器发现LFXTOFFG=1;注释这段代码后,能正常运行,请问什么原因?
灰小子:
建议测量一下,看XT1 正常起振了吗?
Ling Zhu2:
Chao Chen17
大家好!我用的是MSP430FR5969,目前遇到一个问题:
do { CSCTL5 &= ~LFXTOFFG; // Clear XT1 fault flag SFRIFG1 &= ~OFIFG; } while (SFRIFG1 & OFIFG); // Test oscillator fault flag
程序到这里过不了,查看寄存器发现LFXTOFFG=1;注释这段代码后,能正常运行,请问什么原因?
user5782499:
回复 Ling Zhu2:
我和楼主遇到了同样的问题芯片是FR6972,LFXTOFFG一直显示外接的32768Hz晶振有故障,通过示波器可以看到外部晶振正常起振,而且在XIN上也可以清楚看到晶振的信号。
gaoyang9992006:
回复 user5782499:
换一个试试,另外是不是跟晶振配合的电容有问题?官方推荐的是10PF
参考
www.ti.com.cn/…/tidrux6.pdf灰小子:
回复 user5782499:
建议查看下32768Hz晶振的手册,不同厂家和型号的晶振,负载电容有可能是不同的,负载电容的参数在晶振的数据手册里会有说明
user5782499:
回复 灰小子:
你好!我采用的是爱普生公司的实时时钟芯片,内置的32768Hz的晶振,芯片手册上要求VDD上至少有0.1u的电容,这些要求都达到了。现在不是晶振不起振,而是起振后仍然报错,我想问下LFXTIFG报错的逻辑是怎样的,因为确实从波形上看不出任何问题了
gaoyang9992006:
回复 user5782499:
是什么报错?是单片机报错?你也采用的这个单片机??你用时钟芯片给单片机提供时钟?
灰小子:
回复 user5782499:
你是怎么观察报错的?
你在这段代码后写个点量led的代码,然后复位硬件看能不能点亮led
user5782499:
回复 灰小子:
我就是通过LED进行判断,时钟初始化后再循环里一直检查LFXTIFG。现在仍然是初始化无法复位,用信号源给MCU32768Hz,3v的信号可以正常工作,奇怪的很
user5782499:
回复 gaoyang9992006:
这个时钟芯片包含了一个晶振,在FOE高点平时可以输出32768Hz的信号,报错是CS中的LFXTIFG报错,报错的同时无法软件复位,查阅手册说这种情况应该是故障仍然存在,但是示波器显示信号是没有问题的