Configuración Puerto Serie

Buenas,

Estoy realizando unas pruebas con una targeta de Texas Instruments, que posee un microcontrolador MSP430. El problema es que estoy probando el puerto serie entre dos micros iguales con el mismo programa cargado. Dicho programa consiste en enviar un dato al presionar el pulsador cargándolo en TXBUF, y que cuando el dato sea igual a RXBUF se encienda un led en el otro micro.

Adjunto el código a ver si alguien me puede echar un cable. Con el simulador de PC puedo comprobar que todo funciona correctamente excepto si llega a RXBUF el dato enviado desde TXBUF.


#include "msp430x22x4.h"

void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
P1DIR = 0x01; // Seleccionar P1.0 como salida (Led Rojo)
P1OUT = 0x04; // Inicialización del puerto de salida
P1REN |= 0x04; // Se selecciona P1.2 (pulsador) como pull-up
P3SEL = 0x30; // Se selecciona como TX,RX a P3.4 y P3.5
UCA0CTL1 |= UCSSEL_2; // CLK = SMCLK
UCA0BR0 = 104; // 1MHz/9600 (Tabla 15-4)
UCA0BR1 = 0x00;
UCA0MCTL = UCBRS0; // Modulacion UCBRSx = 1
UCA0CTL1 &= ~UCSWRST; // Sale del estado de reset y comienza la comunicación serie

while (1) // Superbucle
{
if (0x04 & ~P1IN) // Si pulsador

UCA0TXBUF = 0x0A; // Se transmite dato

if (UCA0RXBUF == 0x0A) // Si recepción == dato

P1OUT |= 0x01; // Se activa P1.0 (Led Rojo)
}
}



PD: Datasheet del micro http://focus.ti.com/lit/ug/slau144f/slau144f.pdf
 
Última edición:
Atrás
Arriba