我用的是430f5418,XIN和XOUT引脚接的外部晶振接是40KHz,可运行几小时就变成了32.768KHz,是不是外部晶振只能接32.768KHz?
Young Hu:
您好,
不知道您是怎么测试的?是直接用示波器打的晶振?还是通过将ACLK通过17引脚输出测试?OFIFG的值是多少?
rong xiao:
回复 Young Hu:
用示波器测过晶振引脚和ACLK输出引脚始终是40KHz,但我在示波器上看定时器时间推下来频率从40KHz最后就成了32.768KHz。OFIFG的值应该是0不然晶振就初始化不过去。
rong xiao:
回复 Young Hu:
用示波器测过晶振引脚和ACLK输出引脚始终是40KHz,但我在示波器上看定时器时间推下来频率从40KHz最后就成了32.768KHz。OFIFG的值应该是0不然晶振就初始化不过去
Young Hu:
rong xiao您好,
那估计与你的外部晶振没有关系。默认情况下ACLK是由XT1LF驱动的。
Timer的时钟信号是哪个?5418内部有REFOCLK,它的频率是32768Hz。
能否将初始化代码贴上来,大家一起讨论?
rong xiao:
回复 Young Hu:
能否留个联系方式,比如QQ。
///////////////初始化晶振////////////////////////////////
UCSCTL6 &= ~XT1DRIVE_3; // Lowest drive strength
UCSCTL6 |= XCAP_3 ; // Internal load cap
UCSCTL4 |= SELA__XT1CLK;
while ( (SFRIFG1 &OFIFG))
{
UCSCTL7 &= ~(XT1LFOFFG + DCOFFG);
SFRIFG1 &= ~OFIFG;
}
UCSCTL0 = 0x00; // Set lowest possible DCOx, MODx
UCSCTL1 = DCORSEL_7;
UCSCTL2 =449;
UCSCTL4 = SELS_3 + SELM_3;
TimerA 1s中断一次和TimerB 0.5ms中断一次,时钟信号都是ACLK,是不是中断冲突了?
Young Hu:
回复 rong xiao:
能简单描述一下你的时钟初配置吗?同时TI有关于5系列430的UCS模块的驱动库,在编程时可以使用驱动库。链接如下:www.ti.com.cn/…/litabsmultiplefilelist.tsp
Jason Guo:
回复 Young Hu:
40K变成32.768K应该是系统检测到外部晶体失效,自动切到内部的32.768时钟上去了。
同意楼上的说法,用TI的标准库,先排除软件设置问题。
rong xiao:
回复 Jason Guo:
9494,我软件已经关DCOFFG了,后面又置1了,我怎么才能关掉DCOFFG?
Young Hu:
回复 rong xiao:
您好,
将40KHz的晶体换成32.768KHz的晶体。
rong xiao:
回复 Young Hu:
不行,我们外部必须用40KHz的,在软件了我怎么才能关掉DCOFFG??