Vous êtes sur la page 1sur 77

Systmes microprocesseurs

La liaison srie RS232


Utilisation de l'EUSART

Gnralits

Transmissions srie et parallle

La communication entre 2 systmes


peut se faire soit de manire parallle,
soit de manire srie.
La communication srie est trs
importante dans le domaine de la
tlcommunication et plus
gnralement dans le transfert
dinformations.
2

Gnralits

Transmissions srie et parallle

Contrairement au bus parallle o plusieurs


bits sont transmis simultanment, dans les
bus srie, les bits sont envoys les uns la
suite des autres.

Gnralits

Intrts d'une liaison srie


Moins de cablage (- de cuivre donc - cher)
Pas de perturbation entre pistes
Dbits plus levs
Distances de communication plus
importantes

Transmissions sries

Au minimum, 2 fils sont ncessaires

1 fil de donnes

1 fil de rfrence (masse)

D'autres fils peuvent tre rajouts.

Deux critres permettent de dfinir une liaison srie :

Linterface (ou support) physique de


communication (cble, connexions)
Le format de transfert des donnes de
communication (protocole)

2 types : synchrone ou asynchrone


5

Transmissions sries asynchrones

Les transmissions sries synchrones (transmission d'un signal


d'horloge) seront vues au S3 (I2C).
Les communications asynchrones sont dfinies par plusieurs
paramtres :

Les niveaux de tensions

La vitesse de transmission (Baud Rate en anglais)

Le format des donnes

Le mode de fonctionnement

Full-Duplex ou Half-Duplex
Les interfaces physiques de communication peuvent tre
divers :

Fils de cuivre, fibre optique, hertzien, ...

Transmissions sries asynchrones

Protocoles les plus courants :

Norme RS232
Utilise notamment pour la communication avec
un PC (ports COM)
galement utilise dans de nombreux modules
lectroniques spcifiques (modules Zigbee, )
Norme RS485

Utilise dans les applications o les perturbations


sont importantes
On en trouve sur les Automates
Programmables Industriels ...
7

Principe de transmission

Dans une communication srie RS232, les bits sont envoys


les uns la suite des autres sur la ligne en commenant par
le bit de poids faible. La transmission sappuie donc sur le
principe des registres dcalage.

Liaison srie asynchrone : pas d'horloge transmise

La transmission se fait octet par octet.


Ncessit de rajouter un bit de START ('0' logique)
avant l'octet transmettre, et un bit de STOP
('1' logique) aprs l'octet transmettre.

La norme RS232 prvoit galement la possibilit de rajouter


un autre bit juste avant le bit de STOP :

Bit de parit ou un 2me bit de STOP


8

Principe de transmission

Au total, cela nous fait donc 10 ou 11 bits qui sont


transmis au registre dcalage qui assure la
transmission en commenant par le bit de poids faible.

Configuration de la liaison

On dispose de registres de contrle et dtat.

Le(s) registre(s) de contrle permet(tent) de :

Fixer le format de transmission (7, 8 ou 9 bits)

Fixer le facteur de division de lhorloge (Baud Rate)

Fixer le test de parit

Fixer le nombre de bits STOP

Prciser le fonctionnement en interruption

10

Configuration de la liaison

Le(s) registre(s) d'tat(s) permet(tent) de savoir :

Si une transmission est en cours

Si une rception est termine

Ltat des lignes de contrle

Ltat des interruptions

11

Principe de la rception asynchrone

Pas d'horloge transmise entre les 2 quipements


les frquences d'horloge de l'metteur et du
rcepteur doivent tre identiques

Pour indiquer au rcepteur le dbut d'une


transmission, il faut lui envoyer un signal :

C'est le rle du bit de START

La ligne au repos est l'tat logique '1'

Le bit de START est donc logiquement '0'

12

Principe de la rception asynchrone

Le rcepteur attend le premier front descendant de la ligne de


donnes pour se synchroniser.
Aprs une demi-priode dhorloge, il vient tester le bit. Lintrt est
de pouvoir savoir sil sagit dun vrai bit de START (si le signal est
toujours 0) ou alors si on a eu du bruit sur la ligne qui aurait
provoqu un faux bit de START (si le bit est remont 1).
Ensuite, on chantillonne le nombre de bits de donnes (dfini
dans la configuration de la liaison srie) chaque priode
dhorloge.
Enfin, on teste le ou les bits STOP

Si le bit est 1, on a bien un bit STOP.


Si le bit est 0, on a un mauvais bit STOP. On parle dune
erreur dencadrement (framing error).

13

Principe de la rception asynchrone

Chronogramme type

14

Exemple de transmission

On souhaite envoyer l'octet 0x32 (qui est le


code ASCII du caractre '2'), sur 8 bits, sans
parit avec 1 bit STOP.

0x32 = (0011 0010)2

15

Lignes de contrle

Ce sont les signaux additionnels aux lignes de donnes


qui permettent de contrler la communication.
Diffrents signaux peuvent tre changs.

16

Lignes de contrle

Ces signaux peuvent tre groups de la manire suivante :

Des signaux de transmission de donnes

TXD (transmit data) : Donnes dans un sens

RXD (receive data) : Donnes dans l'autre sens

Des signaux de contrle de flux de transmission

RTS (request to send) : Demande mettre

CTS (clear to send) : Prt recevoir

Ces signaux peuvent tre utiles pour grer l'change du flux


de donnes. Notamment, il permet d'indiquer si
l'quipement destinataire est prt recevoir.

Des rfrences de potentiels (masse)

17

Vitesse de transmission des donnes

Les deux quipements doivent tre configurs avec


la mme vitesse (baud rate).

Elle est exprime est bits / seconde

Ces vitesses sont normalises :

1200 bauds (ou bits/seconde)

2400 bauds

4800 bauds

9600 bauds

19200 bauds

38400 bauds

57600 bauds

115200 bauds

18

Contrle de flux

Le rle du contrle de flux est de permettre


d'viter de perdre des informations pendant la
transmission.
Diffrents types de contrle de flux :

Contrle de flux matriel

Contrle de flux logiciel

19

Contrle de flux
Contrle de flux matriel :

Il est possible de contrler le flux de donnes entre deux


quipements par deux lignes de handshake (poigne
de main en franais). Ces lignes sont RTS et CTS.
Le principe de fonctionnement est le suivant :

L'metteur informe le rcepteur qu'il est prt envoyer une


donne en agissant sur RTS et en le mettant l'tat bas.
Le rcepteur informe l'metteur qu'il est prt recevoir en
mettant le signal CTS l'tat bas.
La transmission devient effective.

Cette technique permet d'viter d'envoyer des donnes


quand le rcepteur n'est pas prt et donc permet d'viter
la perte d'information.

20

Contrle de flux
Contrle de flux logiciel :

Il est galement possible de contrler la transmission


l'aide de deux codes ASCII XON et XOFF :

XOFF (code ASCII 17) : demande l'arrt de la


transmission
XON (code ASCII 19) : demande le dpart d'une
transmission

21

Parit

Le mot transmis peut tre suivi ou non d'un bit


de parit qui sert dtecter les erreurs
ventuelles de transmission.
Il existe deux types de parits :

Parit paire
Parit impaire

22

Parit paire

Le bit ajout la donne est positionn de


telle faon que le nombre des tats 1
soit paire sur l'ensemble donn + bit de
parit.
Exemple :

soit la donne 11001011 contenant 5 tats 1

le bit de parit paire est positionn 1 ,


ramenant ainsi le nombre de 1 6.

23

Parit impaire

Le bit ajout la donne est positionn de


telle faon que le nombre des tats 1
soit impaire sur l'ensemble donn + bit de
parit.
Exemple :

soit la donne 11001011 contenant 5 tats 1

le bit de parit impaire est positionn 0 ,


laissant ainsi un nombre de 1 impaire.

24

Bilan

Pour que 2 quipements puissent changer des


donnes, il faut qu'ils soient configurs pour que :

La vitesse de communication (baud rate) soit le


mme des deux cts.

Le nombre de bits de donnes soit identique

Le nombre de bits STOP soit identique

Le type de contrle de flux choisit soit le mme

La parit soit la mme


25

Interfaces physiques

Il existe diffrentes interfaces physiques pour


la liaison srie, dont les normes :

RS232 : Interface de liaison srie prsente sur les


PCs (ports COM).
RS422 : Interface mieux immunise vis vis du
bruit.
RS485 : Identique la RS422 mais dveloppe
pour pouvoir connecter plus de deux appareils
sur le mme bus.

26

Interfaces physiques

Le choix d'une interface dpend :

de la vitesse de transmission souhaite

de la longueur du cble

du nombre d'quipements que l'on souhaite


connecter
de l'immunit vis vis des parasites

27

Interface RS232

Niveaux de tension

Les 0-5V (voire moins) que l'on trouve


gnralement en sortie des microcontrleurs
est insuffisant pour transmettre les
informations loin.
En effet, sous l'effet de l'impdance de la ligne
(inductances et capacits parasites), le
signal est attnu.

28

Interface RS232

Niveaux de tension

Afin de pouvoir envoyer les signaux plus loin,


la liaison srie RS232 transmet les
informations sous des niveaux de tension
plus levs.
Un niveau logique bas (0V) sera transmis
l'aide d'une tension de +10V.
Un niveau logique haut (5V) sera transmis
l'aide d'une tension de -10V.
Il y a donc INVERSION DES NIVEAUX
LOGIQUE et ADAPTATION +10V ET-10V
29

Interface RS232

Niveaux de tension

Chronogrammes

30

Composant externe (MAX 232)

Cet adaptation est trs classiquement ralise


par le composant MAX 232 :

31

Composant externe (MAX 232)

Ce composant est capable de gnrer partir


d'une alimentation Vcc de 5V, les tensions
+10V et -10V.
Avec une telle tension, il est possible de
communiquer avec une liaison srie RS232
9600 bauds jusqu' 10m.
Plus la distance sera grande, moins la vitesse
de transmission sera rapide car les
attnuations et les dformations des signaux
seront plus importantes.
32

Composant externe (MAX 232)

La carte PICDEM2+ utilise en TP intgre


dj ce composant :

33

Connecteur

La connexion se fait aujourd'hui gnralement sur


des connecteurs DB9.
Le schma de connexion est donn ci-dessous :

34

volution

Depuis quelques annes, les ordinateurs neufs ne


sont plus pourvus par dfaut de ports COM RS232.
Il existe maintenant des cables USB permettant de
continuer utiliser des liaisons sries RS232.
Ces cables intgrent un circuit
intgr permettant de grer le
protocole USB d'un cot et la
liaison RS232 de l'autre (puces
FTDI)

35

volution

Il existe par ailleurs des circuits permettant de passer


une liaison USB vers une liaison srie niveaux
logiques TTL (0V - 5V) ou 0V 3,3V
Cela permet de s'interfacer en USB directement avec
un micro-contrleur, sans passer par un tage
+10V/-10V.

36

Mise en oeuvre de la liaison srie


avec le PIC 16F887

Le priphrique interne qui gre la liaison


srie asynchrone s'appelle EUSART :

Enhanced Universal Synchronous


Asynchronous Receiver Transmitter

Ce priphrique repose sur des registres


dcalages qui permettront d'envoyer et de
recevoir les donnes. Ils sont au nombre de
deux (un pour l'mission, l'autre pour la
rception), ce qui autorise thoriquement le
PIC envoyer et recevoir des donnes
simultanment.

37

Mise en oeuvre de la liaison srie


avec le PIC 16F887

Il est ncessaire de configurer la vitesse de


transmission, le nombre de bits de donnes, la parit
ou le deuxime bit STOP s'il y a lieu.
Il faudra donc mettre la bonne valeur dans les
registres de configuration de l'EUSART.
Il nous permettra galement de savoir si une
transmission est en cours, si elle s'est passe
convenablement ou bien s'il y a eu une erreur. Ce
sera le rle du registre d'tat.
Enfin, nous aurons des registres pour crire les
donnes envoyer ou lire les donnes reues.
38

Mise en oeuvre de la liaison srie


avec le PIC 16F887

Ce priphrique dispose galement de deux


pattes de connexion qui permettront d'envoyer
un message (RC6) ou bien de le recevoir
(RC7). La configuration de ces pins se fait de
la manire indique ci-dessous :
Setting the SPEN bit of the RCSTA register enables the EUSART and
automatically configures the TX/CK I/O pin as an output.
If the TX/CK pin is shared with an analog peripheral the analog I/O function
must be disabled by clearing the corresponding ANSEL bit.
Setting the SPEN bit of the RCSTA register enables the EUSART and
automatically configures the RX/DT I/O pin as an input.
If the RX/DT pin is shared with an analog peripheral the analog I/O
function must be disabled by clearing the corresponding ANSEL bit.
39

Mise en oeuvre de la liaison srie


avec le PIC 16F887

Si l'on souhaite se connecter sur un PC, il


faudra penser utiliser un composant (par
exemple un MAX 232) pour gnrer un signal
entre -10V et +10V.

40

Mise en oeuvre de la liaison srie


avec le PIC 16F887

Sur le kit PICDEM2+ :

41

Fonctionnement en transmission

La figure 12-1 nous indique le fonctionnement de l'EUSART


en transmission :

42

Fonctionnement en transmission

Le module d'envoi est bas sur un registre dcalage (TSR


Register = Transmit Shift Register ). On charge la valeur
transmettre sur 8 bits laide du registre TXREG

43

Fonctionnement en transmission

L'criture de TXREG dans TSR met '1' le drapeau TXIF.


Celui-ci est capable de gnrer une interruption si le bit TXIE
est '1'. Le registre dcalage ajoute tout seul le bit de
START et de STOP.
Le fait que le drapeau TXIF passe '1' nindique pas que la
donne a t transmise, mais uniquement le fait que vous
avez mis une donne dans le registre TXREG.

44

Fonctionnement en transmission

Le drapeau TRMT indique quand le registre dcalage


est vide. C'est dire quand le mot est compltement envoy.
Il est ainsi bien plus utile de tester le bit TRMT que le bit TXIF.

45

Fonctionnement en transmission

La figure 12-3, nous donne les chronogrammes des bits


TRMT et TXIF :

46

Fonctionnement en transmission

Pour envoyer les donnes, il faut configurer l'horloge de


transmission. Ceci se fait l'aide du registre SPBRG (compos de
2 registres de 8 bits SPBRGH:SPBRG) qui divise la frquence de
l'horloge interne pour obtenir la bonne vitesse de transmission.
La validation de cette horloge se fait par TXEN. L'horloge est la
mme pour les modules d'envoi et de rception.

47

Fonctionnement en transmission

Les bits srialiss sont envoys vers la patte de sortie RC6/TX. Cette
patte la double fonction de servir de patte d'E/S standard ou de
servir comme sortie d'envoi de la liaison srie.
La configuration entre ces deux modes de fonctionnement se fait
grce au bit SPEN.
Lorsque le bit SPEN est gal '1', les pattes RC6/TX et RC7/RX sont
respectivement configurs automatiquement en sortie et en entre.

48

Fonctionnement en transmission

Il est possible d'envoyer un 9me bit avant le bit de STOP (par


exemple une parit ou un deuxime bit STOP). Il faut alors valider
TX9 et inscrire la donne du 9me bit dans TX9D avant de procder
une mission.

49

Fonctionnement en rception

La figure 12-2 nous indique le fonctionnement de lEUSART en


rception. Le module de rception est relativement similaire au
module d'mission. Il est bas sur un registre dcalage de 11
bits (un START, 8 donnes, un 9me bit et un STOP).

50

Fonctionnement en rception

Tout comme le module d'mission, il dispose de l'horloge


(SPBRGH:SPBRG) :

Il scrute en permanence le signal qui arrive sur la patte


RC7/RX. Il faut donc l aussi indiquer que cette patte sert la
liaison srie grce SPEN.
51

Fonctionnement en rception

La rception ne sera valide que lorsque le bit CREN


sera correctement configur.

52

Fonctionnement en rception

Une fois le mot reu correctement, le PIC stocke les 8


bits de donnes reus dans le registre RCREG. Si on
lui a valid un 9me bit en rception l'aide de RX9, il
stockera sa valeur dans RX9D.
En outre, la rception d'une donne valide le bit RCIF.
On peut alors gnrer une interruption si le bit RCIE
est '1'.
Le module de rception peut en outre gnrer des
erreurs si la transmission s'est mal passe. Il possde
notamment les bits OERR (Overrun error) et FERR
(Framing error).
53

Fonctionnement en rception

54

Fonctionnement en rception

Chronogrammes

55

Les registres associs la


transmission

56

Les registres associs la rception

57

Les registres

Les registres TXREG et RCREG

Vous placerez le mot transmettre dans le


registre TXREG.
Lorsqu'un mot sera reu, vous pourrez le lire
dans le registre RCREG.

Les registres INTCON, PIR1 et PIE1

Ces registres sont utiliss pour grer la liaison


RS 232 en interruption

58

Les registres

Le registre PIR1

Ce registre contient les deux flags (drapeaux)


permettant de :

Dtecter quun mot a t reu : bit RCIF


Dtecter quun mot a t plac dans le registre
de transmission : bit TXIF .

Remarque : il existe un autre flag pour la


transmission : TRMT .

Le registre PIE1

Ce registre contient les deux bits permettant d'autoriser les


interruptions en transmission (TXIE) et en rception
(RCIE)

59

Les registres

Les registres SPBRGH:SPBRG, le bit BRGH


(du registre TXSTA) et le bit BRG16 (du
registre BAUDCTL)

Les registres SPBRGH et SPBRG permettent de


configurer, avec le bit BRGH et le bit BRG16, la
vitesse de transmission de la liaison srie.

60

Les registres

Par exemple, pour une transmission 9600bauds,


avec un microcontrleur cadenc 4MHz, nous
obtenons (SYNC doit forcment tre gal 0):

BRG16 = 0 et BRGH = 0

X = fosc /(baud rate * 64) -1


X = 4000000 / (9600* 64) -1= 5,51

X forcment entier X = 6

Baud rate rel = Fosc / (64( X+1)) soit 8928,59

Lerreur est donc de 6,99 %


(calcul : (9600-8929)/9600)).
61

Les registres

Par exemple, pour une transmission 9600bauds,


avec un microcontrleur cadenc 4MHz, nous
obtenons (SYNC doit forcment tre gal 0):

BRG16 = 0 et BRGH = 1

X = fosc /(baud rate * 16) -1


X = 4000000 / (9600* 16) -1= 25,041

X forcment entier X = 25

Baud rate rel = Fosc / (16( X+1)) soit 9615,38

Lerreur est donc de 0,16 %


(calcul : (9600-9615)/9600)).
62

Les registres

On choisira la valeur afin de minimiser l'erreur commise sur la


transmission.
Des tableaux (pages 168 et 169 de la doc) permettent de
trouver rapidement les valeurs mettre dans
SPBRGH:SPBRG et BRGH en fonction :

de la valeur du dbit de transmission

de la frquence du quartz du PIC

de la valeur du bit BRGH

de la valeur du bit BRG16

Remarque : la plupart du temps, il sera suffisant de travailler avec


un registre SPBRG sur 8 bits (BRG16 = 0 et utilisation de SPBRG
uniquement). En effet, la ncessit de travailler sur 16 bits s'impose
uniquement pour obtenir de faibles vitesses de transmission avec
un quartz de frquence leve.

63

64

65

Les registres de contrle et d'tat

Il nous reste plusieurs choses configurer :

Choix du type de transmission Asynchrone ou


synchrone.

Le bit SYNC du registre TXSTA permet de


choisir le type de fonctionnement:

'1' : mode synchrone


'0' : mode asynchrone

Pour une communication de type RS232 nous


prendrons le mode asynchrone.

66

Les registres de contrle et d'tat

Validation des lignes RC6 et RC7 comme broches


dentre / sortie associes LEUSART : bit SPEN
du registre RCSTA

'1' : port srie valid


'0' : port srie invalid
Remarque : le fait de configurer ce bit 1, place
automatiquement la ligne de transmission en sortie et
la ligne de rception en entre.

Slection du baud rate pour le mode asynchrone


(Permet de fixer la vitesse de transmission en lien
avec le registre SPBRG). Bit BRGH du registre
TXSTA

'1' : mode High Speed


'0' : mode Low Speed
67

Les registres de contrle et d'tat

Bits de marche/arrt :
La rception est valide en plaant un '1' dans
le bit CREN du registre RCSTA .
La transmission est valide en plaant un '1'
dans le bit TXEN du registre TXSTA .
Transmission de 8 bits ou de 9 bits :

Le bit TX9 du registre TXSTA permet de valider


une transmission de 8 bits ou de 9 bits
'1' : transmission de 9 bits.
'0' : transmission de 8 bits.
En mode 9 bits, il faut placer le 9me bit dans
le bit TX9D du registre TXSTA.
En mode 8 bits, le bit TX9D peut prendre
nimporte quelle valeur.

68

Les registres de contrle et d'tat

Rception de 8 bits ou de 9 bits.


Le bit RX9 du registre RCSTA permet de valider une
rception de 8bits ou de 9 bits
'1' : rception de 9 bits
'0' : rception de 8 bits
En mode 9 bits, le 9me bit sera lu dans le bit RX9D du
registre RCSTA.
En mode 8 bits, le bit RX9D ne sera pas utilis.
Configuration de la rception.

ADDEN : Fonctionne en mode asynchrone avec 9 bits


'1' : autorisation de la dtection d'adresse
'0' : invalidation de la dtection d'adresse
Dans la plupart du temps nous travaillerons dans un mode
8 bits, donc sans dtection dadresse.

69

Les registres de contrle et d'tat

Les bits dtat : LEUSART propose 3 bits dtat :

TRMT : tat du registre dcalage d'envoi


'1' : Registre dcalage vide
'0' : Registre dcalage plein
FERR : Drapeau de dtection d'erreur d'encadrement
(Framing Error)

'1' : Erreur d'encadrement


'0' : Pas d'erreur
OERR : Drapeau de dtection d'Overrun Error

'1' : Erreur d'Overrun


'0' : pas d'erreur

On n'utilisera pas le bit SENDB du registre TXSTA (on le laissera '0').

Deux bits sont inutiliss pour une transmission asynchrone.

Il sagit du bit 5 du registre RCSTA et du bit 7 du registre TXSTA

70

Exemple de configuration

On souhaite par exemple configurer la liaison


srie pour une transmission de :

8 bits de donnes

2 bits STOP

sans parit

vitesse de transmission :19200 bauds.

La frquence du quartz du PIC est de 4 MHz.

71

Exemple de configuration

Solution :

Registre SPBRG

On va donc fixer le bit BRGH et la valeur de


SPBRG.
Le tableau 18-3 pour BRGH='0', nous donne un
SPBRG de 2 et une erreur de 8,51%.
Le tableau 18-3 pour BRGH='1', nous donne un
SPBRG de 12 et une erreur de 0,16%.
C'est cette dernire valeur que nous allons
conserver.

bit BRGH= 1 et registre SPBRG = 12


72

Exemple de configuration

Solution :

Registre TXSTA

CSRC : '0' sans importance car on est en mode asynchrone

TX9 : '1' transmission de 9 bits (le 9me bit sera un bit de STOP)

TXEN : '1' Autorisation de la transmission

SYNC : '0' Mode de fonctionnement asynchrone

SENDB : '0'

BRGH : '1' voir ci-dessus

TRMT : '0' c'est un bit en lecture seule, donc sans importance !

TX9D : '1' le neuvime bit sert de bit de STOP


Soit TXSTA = 0x65
73

Exemple de configuration

Solution :

Registre RCSTA

SPEN : '1' validation de l'affectation au port srie de RC6 et RC7

RX9 : '1' rception de 9 bits

SREN : '0' Sans importance pour le mode asynchrone

CREN : '1' Validation de la rception

ADDEN : '0' invalidation de la dtection d'adresse

FERR : '0' c'est un bit en lecture seule, donc sans importance !

OERR : '0' c'est un bit en lecture seule, donc sans importance !

RX9D : '0' c'est un bit en lecture seule, donc sans importance !


Soit RCSTA = 0xD0

Et registre BAUDCTL = 0x00

74

Exemple d'un programme en C

Exemple d'un programme qui va envoyer le caractre 'A' (code


ASCII 0x41) avec les caractristiques suivantes :

8 bits de donnes

2 bits STOP

sans parit

vitesse de transmission :19200 bauds

La frquence du PIC est de 4 MHz

L'analyse structure du programme peut se prsenter comme suit :

INITIALISER LA LIAISON SERIE

ENVOYER LE CARACTERE 'A'

ATTENDRE LA FIN DE LA TRANSMISSION

75

Exemple d'un programme en C


(transmission)
void init_serie (void); // fonction d'initialisation de la liaison srie
void main ( void )
{
init_serie(); // Initialisation de la liaison srie
TXREG=0x41; // Envoi du caractre 'A' sur la liaison srie
while (TRMT==0); // Attente de la fin de la transmission
while(1);
}
void init_serie (void) // 19200 bauds, 8 bits de donnes, 2 bits de STOP, sans parit
{
SPBRG=12; // configuration de la vitesse de transmission
TXSTA=0x65; // configuration de la transmission
RCSTA=0xD0; // configuration de la rception
BAUDCTL = 0x00 ; // configuration du registre de contrle de vitesse de
transmission
}
76

Exemple d'un programme en C


(rception)
void init_serie (void); // fonction d'initialisation de la liaison srie
void main ( void )
{
uns8 recu; // Variable qui sert stocker le dernier octet reu sur la liaison srie
init_serie(); // Initialisation de la liaison srie
while(1)
{
while(RCIF==0); // attente de la rception d'un caractre
recu=RCREG; // on lit le caractre reu et on le stocke dans recu
.
}
}
void init_serie (void) // 19200 bauds, 8 bits de donnes, 2 bits de STOP, sans parit
{
SPBRG=12; // configuration de la vitesse de transmission
TXSTA=0x65; // configuration de la transmission
RCSTA=0xD0; // configuration de la rception
BAUDCTL = 0x00 ; // configuration du registre de contrle de vitesse de transmission
}

77