Hi all,
I recently bought a Launchpad rev 1.5. Everything went fine till i solder the crystal come up with the box. I loaded an example that toggle P1.0 LED by frequency of ~16Hz.
When the board on the computer table, it's not working. The debugger show the crystal was failed. But when I pick up the board, without touching the pcb, it works. The LED flashing as expected. But, it's not just that, when I touched the pcb in the area near the crystal pin XOUT and XIN, it stopped. And after a while when I stop touching it, the LED runs well, again.
So my thought here is that the crystal is very sensitive, even the smallest noise can make it stop working!
Anybody else have the same problem ? Any solution suggested ?
Here's the code example
//******************************************************************************
// MSP430G2xx3 Demo - Timer_A, Toggle P1.0, CCR0 Up Mode ISR, 32kHz ACLK
//
// Description: Toggle P1.0 using software and the TA_0 ISR. Timer_A is
// configured for up mode, thus the the timer overflows when TAR counts
// to CCR0. In this example, CCR0 is loaded with 1000-1.
// Toggle rate = 32768/(2*1000) = 16.384Hz
// ACLK = TACLK = 32768Hz, MCLK = SMCLK = DCO
// //* An external watch crystal on XIN XOUT is required for ACLK *//
//
// MSP430G2xx3
// ---------------
// /|\| XIN|-
// | | | 32kHz
// --|RST XOUT|-
// | |
// | P1.0|-->LED
//
// D. Dang
// Texas Instruments Inc.
// December 2010
// Built with CCS Version 4.2.0 and IAR Embedded Workbench Version: 5.10
//******************************************************************************
#include <msp430g2553.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
BCSCTL3 = XCAP_3; // I added this line, for 12.5pF internal cap
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
}
Thanks for reading and sorry for any grammatical errors.