ROUTINES DE GESTION DE L'UART DU 16F873 ( en C )

La gestion de l'UART du 16F873 en C permet d'écrire des routines de communication série sans se soucier de la gestion caractère par caractère du flux entrant. Les routines fournies dans le fichier UART.ZIP vous permettront:

INTERRUPT.C

C'est le gestionnaire d'interruption qui est appelé à chaque arrivée d'un nouveau caractère, la sauvegarde du contexte est réalisée automatiquement par les instructions int_save_registers et le registre d'indirection FSR est sauvée manuellement. La routine de traitement est ensuite appelée. A noter l'utilisation de la directive #pragma 4 qui place la routine d'interruption à l'adresse 4 et l'inclusion du fichier INT16C5XX.H qui contient les directives de sauvegarde des registres et le traitement d'interruption.

UART.C

UART.C réalise le traitement des fonctions d'écriture et de lecture du port série au moyens des fonctions suivantes:

MAIN.C

C'est le programme de test qui a été écrit pour tester les routines de gestion de l'UART, ce programme réalise l'init de l'UART puis écrit sur le port série une chaine de caractères. Il attend ensuite l'arrivée des caractères 1 ou 2 sur le port et écrit le résultat à l'écran. Les tests ont été réalisés avec une platine 873, un max232 et Hyperterminal configuré en 9600 bauds, 8 data bits, 1 stop bit.

Ce programme simple permet de tester le fonctionnement correct du buffer de reception et l'écriture sur le port série.

DOWNLOAD

L'ensemble des fichiers écrits avec CC5X est compacté dans le fichier UART.ZIP

Les mêmes routines écrites avec C2C UARTC2C.ZIP

 

 

Retour à la page principale