No se puede transmitir char en msp430f54

-4

Intentando enviar un personaje con UART pero simplemente se niega a trabajar. mi código:

void open_door(){
  if (system_mode==0){
            system_mode=1;
            UCA1IE |= UCTXIE;           // Transmit Interrupt Enable
            UCA1TXBUF = open;
   }
}
#pragma vector=USCI_A1_VECTOR
__interrupt void USCI_A1_ISR(void)
{
  switch(UCA1IV) {

  case 0: break;  // No Interrupt


  case 2:         // RX_Buffer_Full interrupt

      break;
  case 4: 

            UCA1IE &= ~UCTXIE;              // TX interrupt disable       
            break;
  }
}

'abrir' es un char definido

    
pregunta user107761

1 respuesta

1
  len = number of needed bytes to send
  tx_cnt = 0;          

  IFG2 |= UCA0TXIFG;            
  IE2  |= UCA0TXIE;              

#pragma vector=USCIAB0TX_VECTOR
__interrupt void USCIAB0TX_ISR (void)
{
  if (tx_cnt < len) 
  {
    UCA0TXBUF = uart_buffer[tx_cnt++];
  }
  else
  {
    IE2 &= ~UCA0TXIE;
  }
}

Algo así, he copiado un ejemplo, puedes encontrar muchos de ellos en google.

    
respondido por el Marko Buršič

Lea otras preguntas en las etiquetas