Ya veo, bueno haré eso a ver que pasa, ¿también tendrá que ver la velocidad del reloj? estoy usando un XT de 4MHz, se que hay una formula para calcular el XT con respecto a los baudios que en este caso son 9600, pero bueno veré que sucede.
Si puede ser..y bastante... Encontre la siguiente formula:
Valor del registro : ((Fosc/BaudRate)/64)-1
Tenes que ver como tenes configurado tu PLL para saber la frecuencia de salida (Fosc), Ya esta dividido por 4 por el eso el 64 , si tomas lo que le llaman Fcy (Fosc/4) se reemplaza el 64 por un 16.
Cuando tenes eso ( que lo mas seguro no te de un valor entero ) hay que redondear y el error lo podes calcular
BaudRateReal = Fosc / 64*(ValorRedondeadoRegistro +1 )
Obviamente el error es BaudRateReal - BaudRate
Si lo queres en porcentaje al error lo dividis por BaudRate y multiplicas por 100.
En resumen, tenes que buscar la mejor frecuencia:
Sin PLL:
4Mhz = Valor a cargar 5.51
Cargando el valor 5 : 10416.6 baudios = Error 8.5%
Cargando el valor 6 : 8928.57 baudios = Error 7%
Con PLL:
x4 = 16Mhz = Valor a cargar 25.04
x8 = 32Mhz = Valor a cargar 51.08
x16 = 64Mhz = Valor a cargar 103.16
En el caso del PLL todos poseen el mismo error de 15baudios o 0.16%
Asi que usa el PLL nomas, si no quisieras tener ningun error con los baud rates entonces tenes que hacer uso de un cristal de 7.68Mhz