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

6733 xt1晶振问题

程序如下:

void setup_FLL(void)
{//启动晶振和时钟;WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timerUCSCTL6 &= ~(XT1OFF);// XT1 Ondo{UCSCTL7 &= ~XT1LFOFFG;// Clear XT1 fault flagsfor (int i = 30000; i; i--);} while (UCSCTL7 & XT1LFOFFG);// Test XT1 fault flagUCSCTL3 = SELREF__XT1CLK;// Set DCO FLL referenceUCSCTL4 = SELS__DCOCLKDIV + SELM__DCOCLK + SELA__XT1CLK;__delay_cycles(781250);while (SFRIFG1&OFIFG)// Test oscillator fault flag{// Clear fault flagsUCSCTL7 &= ~(XT1LFOFFG + DCOFFG); // Clear XT2,XT1,DCO fault flagsSFRIFG1 &= ~OFIFG;// Clear fault flagsfor (int i = 30000; i; i--);}

}

问题描述:程序运行后,会在最后一个while(SFRIFG1&OFIFG)中循环,此时DCOFFG与OFIFG置位,XT1LFOFFG 为0。发现问题后,进入单步调试,发现断点在SFRIFG1 &= ~OFIFG;处正常,但下一步单调时,UCSCTL0值变为0x00f8,即MOD{32},DCO{0}。

我猜测是MOD{32},DCO{0}后,引发DCOFFG,再触发了OFIFG。但想不通为何UCSCTL0值一开始还正常,但后来变为0x00f8?想请教论坛上的高人指点一下,谢谢!

user4207297:

在网上查了一下,发现有篇帖子也提到将AUXVCC3接上VCC就解决问题了,我试了一下果然可以,但AUXVCC3不是后备电源吗?难道不接这个电源,RTC和XT1的晶振就不工作了?

灰小子:

回复 zhifang yang1:

楼上正解,遇到问题需要多翻翻手册

user4207297:

回复 zhifang yang1:

手册里我没找到你提的那句话啊。。。我看的是msp430f6733,MSP430x5xx and MSP430x6xx Family User's Guide

不过的确找到了一句:The Backup subsystem operates on a dedicated power supply AUXVCC3. This subsystem includes lowfrequencyoscillator (XT1), Real-Time Clock module, and Backup RAM.

好吧,我承认手册是写了的。不过为什么要把XT1归为Backup subsystem啊。。。我用个外部低频晶振,去看Crystal Oscillator, XT1, Low-Frequency Mode,去看Unified Clock System (UCS),不会去看Backup Subsystem的啊。。。

zhifang yang1:

回复 user4207297:

这个是硬件工程师做 Unused Pin Assignment 的时候要去review的。。。

不用的pin就悬空比较草率。

赞(0)
未经允许不得转载:TI中文支持网 » 6733 xt1晶振问题
分享到: 更多 (0)