Bonjour à tous,
Je viens de mettre en place une liaison série asynchrone entre mon pic et mon PC. Actuellement tout marche mais j'ai mis un moment à la faire fonctionner pour une bonne raison :
J'utilise un quartz de 20Mhz en HS, et d'après la datasheet du pic, il faut effectuer l'opération suivante pour initialiser le registre SPBRG = ((FOSC/Desired Baud Rate)/64) – 1. Je précise que c'est 9600bauds / 8bits de données / 1 bit de stop / sans parité / sans contrôle de flux. Je suis en low speed donc BRGH = 0.
Mais voilà, d'après ce calcul je suis sensé trouver SPBRG = 31. Seulement avec cette donnée les caractères reçus et envoyés sont du grand n'importe quoi. Donc après une longue prise de tête et du tâtonnement, j'ai trouvé qu'avec SPBRG = 7, tout se passe bien, les caractères sont bons.
Arrive la problématique : avec SPBRG = 7, je trouve une horloge cadencée à 5Mhz, soit 20Mhz / 4. Seulement je n'ai pas mis de pré diviseur ou autre. Est-ce donc normal de se retrouver avec cette fréquence ?
Merci d'avance
François
-----