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

msp430G2332的XT(5.5296Mhz)不起振

您好,我的msp430G2332的XT(5.5296Mhz)不起振是怎么回事?DCOCLK、VLOCLK都是好用的,我用的是20引脚的msp430G2332,我想用LFXT1外部晶振给系统提供时钟,,晶振电路上接了两个22P的电容。请教各位大侠,它怎么不起振呢?

另外,官方资料给出了一段汇编,第一句是  BIC    #OSCOFF,  SR      ;复位OSCOFF

这一句怎么用C实现呢?我加了一句__bis_SR_register(OSCOFF);不知道对不对,有这一句程序能够跑过等待晶振起振的语句,但晶振并没有起振,没有这一句,程序就停在了判断晶振起振的while上面。

Lina Lian:

baom wang, msp430g2332的LFXT只能接32768Hz的低频晶振,不支持高频晶振的。

Lina Lian:

回复 Lina Lian:

可以查阅msp430g2332的datasheet,如下图所示:

baom wang:

回复 Lina Lian:

谢谢您的回答,仔细看了一遍datasheet,明白了,真的非常感谢你!(我是学俄语的,英语不行,看技术手册有心理障碍)

Shi JianHua:

回复 baom wang:

430有中文数据手册。可以先看看中文的,不是那个型号也没事,都差不多,然后在扩展到自己用的型号就行了。

Lina Lian:

回复 baom wang:

baom wang,

你可以TI中文官网上查找一些资料:www.ti.com.cn

但是整体而言,大部分资料还是英文的,一开始可能不习惯,看多了就好了。O(∩_∩)O~

baom wang:

回复 Lina Lian:

谢谢您的回答,我还有一个问题,现在我的内部32768晶振也不起振,我的程序如下:

BCSCTL1 = CALBC1_1MHZ; // Set DCO to 1, 8, 12 or 16MHz DCOCTL = CALDCO_1MHZ;

BCSCTL3 |= LFXT1S_0; BCSCTL3 |= XCAP_3; // Configure Load Caps do { IFG1 &= ~OFIFG; // Clear OSCFault flag for (i = 0xFF; i > 0; i–); // Time for flag to set } while (IFG1 & OFIFG); // OSCFault flag still set? BCSCTL2 |= SELM_2;

设置点匹配电容的那一句不用管,这样内置的32768为什么不起振呢?去掉BCSCTL3 |= LFXT1S_0;也不起振,求高手赐教!

Lina Lian:

回复 baom wang:

baom wang,

对于MSP430G2332而言,只要焊接了外部32768 LFXT1晶振,默认情况下ACLK就是从LFXT1来,为32768Hz。请问你是怎么知道32768Hz晶振没有起振的?切记,千万不可用示波器直接看,因为外部晶振很脆弱,外部接示波器,会直接导致其停振。要编程将ALCK从对应管脚引出来,然后再用示波器观察。

请焊接好32768晶振后,用附件测试程序,直接用示波器观察P1.0输出的ACLK,看它是不是32768Hz, 然后用示波器管脚,快速触碰一下晶振管脚,你会发现,P1.0的输出ACLK会自动切换至VLO,约为12kHz,此时说明LFXT1已经停振。

赞(0)
未经允许不得转载:TI中文支持网 » msp430G2332的XT(5.5296Mhz)不起振
分享到: 更多 (0)