A través de la interfaz de C # quiero cambiar la tasa de baudios, para hacer eso ofcurse tengo que cambiar la tasa de baudios en el otro lado que es MSP430 usando CodeCompserStudio y para enviar un Ack a la PC, entonces implemento los cambios también en C #, pero cuando cambio la tasa de baudios en CCS no puedo enviar el mensaje de acuse de recibo correctamente porque la tasa de baudios no coincide. y debido a eso recibo un mensaje sin sentido en lugar del "Ack" que evita cambiar la velocidad en baudios en el otro lado (PC) porque estaba esperando el "Ack". Intenté enviar el mensaje "Ack" antes de cambiar la velocidad de transmisión en CCS, pero no sirvió de nada. Este es mi pseudo código: Inicialmente en C # acabo de presionar un botón que envía un comando apropiado a CCS para cambiar la velocidad en baudios. Luego, en CCS, después o antes de cambiar la tasa de baudios, debemos enviar "Ack":
while(!(UCA1IFG & UCTXIFG)); // in this case we send the Ack msg before changing the cnfgs.
UCA1TXBUF='*'; // '*' indicates "Ack"
UCA1BR0 = 3; // 9600 baudrate (32k ACLK)
UCA1BR1 = 0;
UCA1MCTL = UCBRS_3+UCBRF_0;
en C #:
private void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string receivedData = SerialPort.ReadExisting();
if (receivedData == "*") // BaudRate Acknowledge
SerialPort.BaudRate = Convert.ToInt16(BaudRate.SelectedItem);
}
alguna idea?