公司做产品,自己做的PCB使用launchpad下载程序,产品板使用20引脚贴片,晶振32768,电容10P,测试晶振使用官方例程修改,晶振不起振,只有极少数能正常输出方波,如果新焊一块板子,能振起来,防置一段时间也有可能停振,有可能新焊的板子下载完程序后,能振,再次下载就有可能停振。
外部晶振不能省略,产品中需要秒计数,而且需要低功耗。,,不起振会是什么引起的?,这个引脚可不可以接有源时钟???
板子是手焊的,感觉没问题,反复检查过
#include <msp430g2553.h>
void main(void)
{
BCSCTL1 = CALBC1_1MHZ; // Set DCO
DCOCTL = CALDCO_1MHZ;
BCSCTL1 |= XT2OFF+DIVA_0;
BCSCTL2 |= SELM_0 + DIVM_0 + DIVS_0;
BCSCTL3 |= LFXT1S_0+XCAP_0; //12k晶振LFXT1S1
IFG1 &= ~OFIFG; WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P1DIR |= 0x01; // P1.0 output
CCTL0 = CCIE; // CCR0 interrupt enabled
CCR0 = 1000-1;
TACTL = TASSEL_1 + MC_1; // ACLK, upmode
_BIS_SR(LPM3_bits + GIE); // Enter LPM3 w/ interrupt
}
// Timer A0 interrupt service routine
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer_A (void)
{
P1OUT ^= 0x01; // Toggle P1.0
}

灰小子:
参考下这个帖子:http://www.deyisupport.com/question_answer/microcontrollers/msp430/f/55/p/24093/80918.aspx
haixin chen:
回复 Jason Guo:
试了,还是不行,不是说应该接小电容吗,现在有的板子用手摸着电容能振,也不太准,手一离开就不振,这会不会是那个值大了或者小了,这种用手摸能振起来的属于少数,大多数完全不能振,
灰小子:
回复 haixin chen:
用手触碰能起振,这种都是电容不合适。
不能起振的,建议检查焊接情况和更换其他批次的晶振试试
haixin chen:
回复 灰小子:
那本身起振了,过一段时间自己停振的是什么原因,没听说430特别挑晶振啊,
灰小子:
回复 haixin chen:
有可能是有干扰,或者是用的电容不匹配。
也遇到过电源纹波影响起振的情况
haixin chen:
回复 灰小子:
下午确实发现有电源波纹的影响,但是可能还有别的原因,没彻底解决
HG:
回复 haixin chen:
排除电源纹波,电容匹配如果还没有效果,可以怀疑晶振本身的原因了。。。用官方Launchpad自带的晶振试试?
haixin chen:
回复 HG:
换了都试过,即用过launchpad自带的焊在板子上,也将我买的三种晶振焊在launchpad过,launchpad都能运行,而产品都不能稳定正常,现在又发现产品有出现复位引脚低电压0.5V,本身有上拉电阻47K,也怀疑是复位造成的影响,但是不知道怎么解决,有时莫名奇妙就好了,但是晶振还是不振。
灰小子:
回复 haixin chen:
看样子,不只是简单的电容匹配或者干扰的问题。
1、楼主购买mcu和其他元器件的渠道是否正规?mcu有没有买到山寨货?
2、PCB制作质量如何,是否是大厂制作的,有没有经过测试?有些质量差的pcb线间有毛刺、断线等情况
TI中文支持网



