Jump to content
43oh

Recommended Posts

as a starter w/ the ti launchpad, i suggest trying the "supplied" 32khz xtal 1st. youtube search "ti launchpad solder crystal" and u will see 2 videos, both did it correctly w/ 3 solder points.

 

if u had done and check everything and it still fails. consider the possibility that the crystal has gone "bad" (may be excessive heat during soldering?), and if u really need to proceed, u have to source another crystal to replace it. at the same time there are many things to do w/ a ti launchpad that does not require a crystal.

Link to post
Share on other sites

You are correct I was not careful with the heat during soldering the first time. Now I have placed a 16kHz crystal, but I don't know  what to do with the 3rd point of contact that the original had.

 

I uploaded msp430x20x3_LFxtal_nmi.c, but the flash still blinking very rapidly...so I tested msp430g2xx3_LFxtal_nmi.c 

 as welll

 

 

Now I'm lost, I can get into the C side untill I know that I have a working device.

Link to post
Share on other sites
 
LFXT1 Oscillator Fault Detection

----------------------------------------------------

 
#include <msp430.h>
 
volatile unsigned int i;
 
int main(void)
{
  WDTCTL = WDT_ADLY_1000;                   // WDT 1s interval timer
  IE1 |= WDTIE;                             // Enable WDT interrupt
  P1DIR = 0xFF;                             // All P1.x outputs
  P1OUT = 0;                                // All P1.x reset
  P2DIR = 0xFF;                             // All P2.x outputs
  P2OUT = 0;                                // All P2.x reset
// An immedate Osc Fault will occur next
  IE1 |= OFIE;                              // Enable Osc Fault
 
  while(1)
  {
   P1OUT ^= 0x01;                           // Toggle P1.0 using exclusive-OR
  _BIS_SR(LPM3_bits + GIE);                 // Enter LPM3 w/interrupt
  }
}
 
#pragma vector=WDT_VECTOR
__interrupt void watchdog_timer (void)
{
    _BIC_SR_IRQ(LPM3_bits);                 // Clear LPM3 bits from 0(SR)
}
 
#pragma vector=NMI_VECTOR
__interrupt void nmi_ (void)
{
  do
  {
    IFG1 &= ~OFIFG;                         // Clear OSCFault flag
    for (i = 0xFFF; i > 0; i--);            // Time for flag to set
    P1OUT ^= 0x01;                          // Toggle P1.0 using exclusive-OR
  }
  while (IFG1 & OFIFG);                     // OSCFault flag still set?
  IE1 |= OFIE;                              // Enable Osc Fault
}
Link to post
Share on other sites

there is no magic here, just tried w/ the above code. the code and the h/w setup cannot be more simpler.

 

from your photo, your LP is kind of beaten up. i can only suggest

 

. remove xtal, clean up pads, try another one w/o soldering 1st.

. try another LP if u have another one.

. try another MCU (say G2452) and see if problem lies on the pins.

 

this cylinder xtals comes in a variety of qualities, it may be worthwhile to have a batch and test them one by one before using. that's what i do.

 

Link to post
Share on other sites

Problem solved, i followed your video...man thanks for your time

Next time, forget the soldering....I'm just going to use the pins

 

Unfortunatly my LP came with pins insted of sockets, so I remove them....the solder seemed a bit high melting temperature than the usual, well...I fu$%^ed some of the pads, so some of my pins are not gonna works but yeah.

Now I can play with interrupts. I will rather prefer use a bread board, but I will open a new thread for that anyways.

 

Thanks everyone for the help, SimpleAVR 10e12 thanks

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...