Cambiar BAUDRATE de puerto serial USART de PIC

Hola ! tengo un problema raro, no se porqué ocurrirá... Estoy utilizando un PIC18F4620, y su puerto serial configurado en 19200bps. Hasta ahi todo bien, cuando inicializo el programa envío entre otras cosas:
Código:
movlf   0x0F,SPBRG ; 15 = 19200 baudrate
movlf   b'10010000',RCSTA
movlf   b'00100010',TXSTA
De esa manera funciona muy bien. El problema es que en determinado momento quiero enviarle un comando (cadena de caracteres determinada) que cambie la velocidad a 9600 (es raro, pero es lo que mi sistema requiere, increible !). Realizo los mismos pasos pero en vez de asignar 0x0F a SPBRG asigno 0x1F (9600bps):
Código:
movlf   0x1F,SPBRG ; 31 = 19200 baudrate
movlf   b'10010000',RCSTA
movlf   b'00100010',TXSTA
Aun así la velocidad no se cambia ! porque si le envio datos en 9600 no hace nada, y si le mando en 19600 si hace, o sea, no se cambia ! porqué puede ser?

Inclusive probé de en el procedimiento de cambio prender un LED para verificar que el programa está pasando por allí y lo hace !

A alguien se le ocurre que puede ser? bueno desde ya muchas gracias ! salu2

Marcelo.
 
Mi estimado emeceuy

Estube trabajando con un dispositivo en cual manejaba un baud rate de 115200, claro primeramente lo maneje con la PC simulando en un programa las operaciones que haria el pic.

Al principio mi pic Simulado en el COM de la PC trabajaba a 115200 igual que el dispositivo porque este asi lo trae por default. Entonces la pc le enviaba los comando para cambiar el baud rate y al mismo tiempo cambiaba mi configuracion del puerto a 9600 ambos, conseguia cambiar el parametro pero no lograba la comunicacion entre estos dos. Se pasmaban.
Opte por preconfigurar mi dispositivo a 9600 y sin desconectar la aliemtacion le conecte el circuito del pic igual a 9600.

No creo que te ayude de mucho por que casi andamos en las mismas

Saludos
 
Atrás
Arriba