LES LIAISONS "SERIE"
DU MICROCONTROLEUR MC9S12C128

 

Hugues ANGELIS

page  08
 

Module de transmission

L'émission des données est réalisée via le module d'émission. On va donc étudier sous la forme d'un exemple, l'émission et donc le fonctionnement du module de transmission.

Initialisation

Considérons que l'horloge interne est à 25MHz, que l'on souhaite émettre des données sous la forme d'un octet auquel on ajoute un contrôle de parité paire à 57600 bauds. Comme notre 9s12 exécute d'autres taches, nous allons travailler par interruptions.

·         Initialisation du prédiviseur d'horloge avec la valeur 0x001B :
o        Ecriture de la valeur 0x00 à l'adresse 0 du bloc SCI.
o        Ecriture de la valeur 0x1B à l'adresse 1 du bloc SCI.

·         Initialisation du registre de contrôle SCICR1 avec la valeur 0x16 :
o        LOOPS = 0 (on ne fonctionne pas en rebouclage).
o        SWAIT = 0 (il n'est pas prévu que le 68HC12 passe en mode WAIT).
o        RSRC = 0 (puisqu'il n'est pas prévu que soit réalisé un rebouclage).
o        M = 1 (1 start, 1 stop, 9 bits).
o        WAKE = 0 (puisqu'il n'est pas prévu de passer en mode SLEEP).
o        ILT = 1 (puisqu'il est déconseillé d'utiliser ILT = 0).
o        PE = 1 (on active la parité).
o        PT = 0 (parité paire).

·         Initialisation du registre de contrôle SCICR2 avec la valeur 0xEC :
o        TIE = 0 (on travaille en interruption, mais en réception, pas en transmission).
o        TCIE = 0 (même motif).
o        RIE = 1 (idem).
o        ILIE = 0 (sans utilité dans notre cas).
o        TE = 1 (on active le module de transmission).
o        RE = 1 (on active le module de réception).
o        RWU = 0 (on souhaite rester en mode normal).
o        SBK = 0 (on n'envoie pas de caractère d'échappement).

Le bloc SCI est maintenant configuré et prêt à effectuer des transmissions.