neil 发表于 2010-4-16 16:14:13

新手求助:关于msp430晶振不起振的问题

第一次学单片机,msp430外部采用两个晶振,第一个是32768晶振 第二个是16m的晶振。在电路板上电后测的32768晶振管脚输出一个32768hz的正弦信号,而16m管脚上什么也没有啊,这样能不能判定该16m的晶振没有起振?如果不起振那是什么原因呢?
附程序代码:
#include"msp430x26x.h"
unsigned char i;

void main(void)
{
WDTCTL=WDTPW+WDTHOLD;    //stop the watch dog

P5DIR|=0X38;             // seting the pin direction
P5SEL|=0X38;             //

BCSCTL1&=~XT2OFF;      // enable xt2
// BCSCTL1|=XTS;
do
{
    IFG1&=~OFIFG;
    for(i=0xFF;i>0;i--);
}                        // stable time delay
while((IFG1&OFIFG)!=0);
BCSCTL2 |= SELM1;          // MACLK=xt2
BCSCTL2 |= SELS;            // SAclk= xt2

while(1);
}

程序下载后 发现xt2 晶振一脚的输出为600mv的直流电压,而我用的电容大小为22pf。为什么还不起振呢?

o0pingu0o 发表于 2010-7-14 15:46:33

看看寄存器的配置,有的系列之间寄存器不一样

lantian0099 发表于 2011-6-20 09:50:47

我用的249,同样的问题,但是用手碰碰某些引脚就起振了,不明原因。。。不知LZ找到解答没了

aida66 发表于 2011-7-21 15:54:54

不知楼主解决问题了没有,我也遇到这个问题挺纠结的啊。。。。。

yh2630145 发表于 2011-7-22 23:51:05

我有块F2618的板子 8M晶振也起振不了 郁闷死了 想搞个高速模式都没办法,应该是晶振坏了吧

pandatp09 发表于 2011-7-25 22:33:20

刚开始用时我也遇到LZ的问题了,后来参考了一些资料,原来外部晶起振是需要时间的,430本身有检测起振的检测位,在初始化时等待起振就可以。以下是我以前写的149一段初始化程序,里面含外部晶振起振等待代码,可以参考一下.

//=================================
void init(void)
{
WDTCTL=WDTPW+WDTHOLD;      //关闭看门狗
DCOCTL=DCO0+DCO1+DCO2;   //最大DCO
BCSCTL1=RSEL0+RSEL1+RSEL2; //最大RSEL,4-4.9M
//---------外部晶震起震------------
/*BCSCTL1&=~XT2OFF;         //开启外部振荡器XT2      
do
{
    IFG1&=~OFIFG;
    delay(1);
}
while((IFG1&OFIFG));      //检测外部震荡器是否正常
BCSCTL2|=SELM_2;*/         
//---------------------------------
//BCSCTL2|=SELS;             //SMCLK=XT2CLK

P2OUT=0xff;
P2DIR=0xff;
P3OUT=0xff;
P3DIR=0xff;
P5DIR=0x90;
P5SEL=0x10;
}

pandatp09 发表于 2011-7-25 23:28:42

问题可能是出在IFG1&=~OFIFG;后面的延时语句问题,我用的delay(1)大概是延时1ms。

void delay(uint k)            //4-5M频率的1MS延时函数
{
uint i,j;
for(i=k;i>0;i--){
for(j=1200;j>0;j--)
{;}}
}

aida66 发表于 2011-7-29 14:48:16

应该是硬件上的问题。我也遇到过换了一块板子就好用了。。。

llillk 发表于 2011-7-30 06:59:51

同意7楼的说法,应该是电路的设计问题,楼主对照别人的板子对照检查一下
还有就是16M的晶振不适合MSP430,不稳定

rengo 发表于 2011-7-30 09:29:10

yun,16M的只有1xx和早期的4xx不能用,其他型号都能有,哪有啥不问题的情况.
换晶体和电容.稍微注意下晶体周围的地,干净点.

xxy575762589 发表于 2011-8-1 13:56:37

检查焊接是否可靠,上次我焊接430时候,用了焊锡油,很好用,焊好后也发现这问题,搞了好久才发现,焊锡油在管脚很近时会导电,晕…………用酒精洗了洗,搞定……

sfdgbdgrnd 发表于 2011-8-20 15:57:51

这问题我也遇到过。方法马克一下。。。

pangfuhua 发表于 2011-11-5 13:05:52

检查下电容
页: [1]
查看完整版本: 新手求助:关于msp430晶振不起振的问题