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:
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):
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.
Código:
movlf 0x0F,SPBRG ; 15 = 19200 baudrate
movlf b'10010000',RCSTA
movlf b'00100010',TXSTA
Código:
movlf 0x1F,SPBRG ; 31 = 19200 baudrate
movlf b'10010000',RCSTA
movlf b'00100010',TXSTA
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.