Hola amigos.
Llevo días enteros probando una comunicación serie asíncrona entre un 18F258 y un teléfono móvil a 19200 baudios.
El problema está en que algunas veces el pic recibe correctamente los datos enviados por el móvil y otras veces,al visualizar estos datos en un lcd,éstos no tienen nada que ver con lo que se supone que el teléfono ha enviado.
Cuando el teléfono recibe una llamada desde el número 600123456,le envia al pic una cosa así:
Codigo:
RING
+CLIP: 600123456,161
El pic atiende la recepción de esta cadena de caracteres mediante su correspondiente interrupción,la cual va insertando cada carácter en un buffer en memoria RAM.Con ello consigo después sacar el número desde el que se produjo la llamada y mostrarlo en el lcd.
Pues bien,como he dicho,hay veces que lo hace correctamente,sin embargo,en otras ocasiones lo que saco del buffer después de haber recibido la llamada es basura.
La comunicación es a 19200 baudios,8 bits sin paridad.RC6 para TX y RC7 para RX.Cristal de 10 MHz
El móvil funciona a 3.6V,por lo que el pic también lo tengo alimentado con ese valor directamente desde mi fuente de alimentación.
No creo que el problema pueda estar en el programa,aunque si a alguien le parece oportuno,lo puedo poner para que le echen un vistazo.
He probado a poner condensadores de diferentes valores entre Vcc y masa para evitar las posibles fluctuaciones de tensión que pueda haber en la salida de la fuente,pero sigo con el mismo problema