Révision 761
Ajouté par celasherme il y a presque 4 ans
SP4c1.c | ||
---|---|---|
// initialisation du port serie
|
||
void uart0_init (void)
|
||
{
|
||
u0mr=0b01100101; // configuration UART mode 8bit data length, internal clock , parity disabled , TX RX not inverted
|
||
u0mr=0b00000101; // configuration UART mode 8bit data length, internal clock , parity disabled , TX RX not inverted
|
||
|
||
// on n'utilise pas
|
||
u0smr=0x00;
|
||
... | ... | |
/// transmit bit operation enable and receive operation enable
|
||
u0c1=0x00;
|
||
|
||
p6_0=0;
|
||
p6_1=0;
|
||
p6_2=0;
|
||
p6_3=1;
|
||
pd6_0=0;
|
||
pd6_1=0;
|
||
pd6_2=0;
|
||
pd6_3=1;
|
||
|
||
ps0_0=0;
|
||
ps0_1=0;
|
||
... | ... | |
|
||
void uart0_tx(char c) // envoyer un caractere sur la liaison serie
|
||
{
|
||
while (ti_u0c1 !=1) // le faire tant qu'on n'a pas de donn?e dur le registre U0TB
|
||
{
|
||
u0tb=c; //ecriture dans le registre de transmition
|
||
}
|
||
while (ti_u0c1 !=1); // on attend que le port serie soit libre
|
||
u0tb=c; //ecriture dans le registre de transmition
|
||
|
||
}
|
||
|
||
char uart0_rx(void) // envoyer un caractere sur la liaison serie
|
||
char uart0_rx(void) // r?ception d?un caract?re sur le port s?rie
|
||
{
|
||
while (ti_u0c1 !=0)
|
||
{
|
||
return u0rb;
|
||
|
||
}
|
||
while (ri_u0c1 !=1); //attendre que le port serie soit libre
|
||
return u0rb;
|
||
}
|
||
|
||
|
||
|
||
void main(void)
|
||
{
|
||
|
||
// char c='A' // on lui dit de commancer par 'A'
|
||
int i;
|
||
uart0_init();
|
||
/*while(1) // emet en boucle le meme carac
|
||
{
|
||
for(i=0;i<26;i++) // pour i<26 lettres de l'aphabet donc pour ne pas depasser le Z
|
||
{
|
||
carac='A'+i; // on incremente A de 1 pour passer a la lettre suivante
|
||
uart0_tx(carac); // on affiche la nouvelle lettre a chaque fois
|
||
}
|
||
}*/
|
||
|
||
while(1) // emet en boucle le meme carac
|
||
while(1)
|
||
{
|
||
uart0_tx('A');
|
||
|
||
|
||
}
|
||
|
||
}
|
Formats disponibles : Unified diff
fonction envoi de caractère et début fonction attend un caractère