This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Interrupting continous transmitting, w. RX

Hello all
I have a MSP-EXT430G2 launchpad with a g2432 uC. I am writing a program where it’s possible to communicate using RXD & TXD. Furthermore it's at the moment possible to step into different modes, depending on the received bytes. One of the modes sends continuously 24 bytes every 32ms, controlled by the WD-timer. Unfortunate I can’t interrupt with typing (in terminal), because the program is busy transmitting using TimerA0 interrupt.
It’s not a problem to communicate when the program doesn’t transmit even though the watchdog interrupts every 32 ms. The WDinterrupt rutine consists:
  if (BreakEnd == true && State == 1)
  {
   InitWDT(); //Starts WD again 
   SendData();//24 bytes
  }
The Timers are driven by Systemclock 12MHz, and I use a Baudrate at 115200
Any suggestions what to do to get in contact with RX-rutine to save RX-byte and keep transmitting?
Have a nice weekend!
/Simon
  • Reducing the baudrate for the communication would help....

  • Another idea.... keep the WDT interrupt short.... e.g. just set a flag and handle it it the main program. The benefit would be that this routine could be interrupted by the comm functionality.....

    Another - maybe really bad idea - is to activate nested interrupts.... I mean setting the GIE bit in the WDT ISR; but as mentioned that's not a good programming style because there is a risk of a stack overflow!

**Attention** This is a public forum