最近在做一个项目,用到了MSP430F6720,之前做了一块测试板,程序都写好了,测试没有问题。于是我将板子重新画了一下,结果XT1就不起震了。之前的板子上有些引脚(AUXVCC1、AUXVCC2、AUXVCC3、LCDAP、VDSYS、DVSYS)没有按照数据手册上要求的处理,而在新做的板子上完全依照数据手册上处理的,结果反而不能用了。不过好像不是这些管脚的问题,因为我通过割线的方法也试过将其改回到原来的接线方式,结果问题依旧。XT1我采用的32768HZ晶振,我可以确定是XT1的问题,首先在晶振上测不到波形(在之前的板子上可以),然后我在程序上将时钟源改为REFO后其他模块(比如串口)就正常工作了。还有一个奇怪的问题,XT1的错误标志并没有置位,反而DCO的错误标志置位了,但是我用的FLL可以正常工作。
我用万用表测量的AVCC的DVCC都是3.3V,该接地的地方全都接地。XIN和XOUT也都连接晶振,我想问除了XIN与XOUT外,XT1还与其他哪个管脚有关系吗
灰小子:
建议给XT1增加起震电容试试。
灰小子:
XT1和其他管脚没关系
xinpeng wang:
回复 Susan Yang:
没有加谐振电容,我用的内部电容,程序我以前用的可以啊
xinpeng wang:
回复 灰小子:
电容加多大的
xinpeng wang:
回复 Susan Yang:
移向电容接了,不管用,不是这个的问题
jinfei zhang:
你好,我遇到的也是这个问题,我用两个外部晶振,XT1和XT2,板子上都没有接电容,程序也是按照例程配置的,但是就是不起振,而且晶振有错误标志置位。
void Init_Clk(){ P7SEL |=0x0f; //开启XT1,XT2 P7.3,P7.2对应XT2 P7.1,P7.0对应XT1// UCSCTL6 |= XT2DRIVE_1;// UCSCTL6 &= ~ XT2OFF;// UCSCTL6 |= XCAP_3 + XT1DRIVE_0; UCSCTL6 &= ~(XT1OFF & XT1DRIVE_3 );// enalbe XT1
//打开XT1,XT2,全选外部晶振;XT2CLK = 8~16M;配置XT1的电容;XT1在低频模式// UCSCTL3 |= SELREF__REFOCLK; //FLL 参考时钟选择REFOCLK // UCSCTL3默认FLL 参考时钟 XT1CLK
do { UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); SFRIFG1 &= ~OFIFG; // Clear fault flags } while(SFRIFG1&OFIFG); // Test oscillator fault flag}
可以看看的配置吗?交流一下