Hi,

a program (compiled the IAR compiler) which sends data from uart0 does send 
nothing after compiled with mspgcc:

...
void
Send_Data (void)
{
  if (COM_TRANSMIT.len > 0)     // Ignore data packets of length zero.
  {
    COM_TRANSMIT.cnt = 1;
    U0TXBUF = COM_TRANSMIT.buffer[0];
    
    do                          // Interrupt
    {

// ddd hangs at this point while it works with IAR 
/////////////////////////////////////////

    }
    while (COM_TRANSMIT.cnt < COM_TRANSMIT.len);
    COM_TRANSMIT.len = 0;
  }
  return;
}
...
#ifdef MSPGCC
interrupt (UART0TX_VECTOR)
#endif
#ifdef IAR
interrupt[UART0TX_VECTOR]
     void
#endif
       uart0_transmit (void)
{
  if (COM_TRANSMIT.cnt < COM_TRANSMIT.len)
    U0TXBUF = COM_TRANSMIT.buffer[COM_TRANSMIT.cnt++];
  return;
}

What's wrong with that code?

And i've got other problems (measuring voltages with comparators) with another 
code with nested interrupts. 
Does mspgcc handle nested interrupts in another way as iar does?

Rolf



Reply via email to