Révision 725
Ajouté par Massamba FALL il y a presque 4 ans
branch/fall/sp4c12/uart0/uart0/uart0.c | ||
---|---|---|
/* This file is generated by Renesas Project Generator (Ver.4.18). */
|
||
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
||
/***********************************************************************/
|
||
#include "sfr32c87.h"
|
||
|
||
void main(void)
|
||
void uart0_init() //initialisation du port s?rie
|
||
{
|
||
/**registre u0mr
|
||
smd0_u0mr = 1;
|
||
smd1_u0mr = 0;
|
||
smd2_u0mr = 1;
|
||
ckdir_u0mr = 0;
|
||
stps_u0mr = 0;
|
||
prye_u0mr = 0;
|
||
iopol_u0mr = 0;**/
|
||
u0mr = 0x05;
|
||
|
||
u0brg = 64;
|
||
|
||
/**registre u0c0
|
||
clk0_u0c0 = 1;
|
||
clk1_u0c0 = 0;
|
||
crs_u0c0 = 1;
|
||
crd_u0c0 = 1;
|
||
nch_u0c0 = 0;
|
||
ckpol_u0c0 = 0;
|
||
uform_u0c0 = 0;
|
||
**/
|
||
u0c0 = 0x00;
|
||
|
||
/**registre u0c1
|
||
te_u0c1 = 1;
|
||
re_u0c1 = 1;
|
||
u0rrm_u0c1 = 0;
|
||
u0lch_u0c1 = 0;
|
||
sclkstpb_u0c1 = 0;**/
|
||
|
||
u0c1 = 0x05;
|
||
|
||
pd6_3 = 1;
|
||
pd6_2 = 0;
|
||
|
||
ps0_3 = 1;
|
||
ps0_2 = 0;
|
||
|
||
}
|
||
|
||
void uart0_tx(char c) //envoi d'un caractere liaison s?rie
|
||
{
|
||
while(!ti_u0c1); //attente liaison
|
||
u0tb = c;
|
||
}
|
||
|
||
char uart0_rx() //reception d un caractere sur le port serie
|
||
{
|
||
while(ri_u0c1 != 1); //attente liaison
|
||
return u0rb;
|
||
}
|
||
|
||
void fonction_alphabet(void)
|
||
{
|
||
int i;
|
||
for(i=97 ; i<123 ; i++)
|
||
uart0_tx(i);
|
||
}
|
||
|
||
int Rectrame(char *Buffer)
|
||
{
|
||
int nombre_element_tableau = 0;
|
||
char caractere_recu;
|
||
char checksum ='0';
|
||
char ancienne_valeur_checksum ='0';
|
||
char string[5] = {'g','p','g','g','a'};
|
||
int i;
|
||
|
||
/**lecture du caractere recu**/
|
||
caractere_recu = uart0_rx();
|
||
|
||
/**detection trame**/
|
||
while( caractere_recu != '$')
|
||
{
|
||
caractere_recu = uart0_rx();
|
||
}
|
||
|
||
nombre_element_tableau=0;
|
||
checksum = 0;
|
||
|
||
/**memorisation de la trame recue**/
|
||
while( caractere_recu != '*')
|
||
{
|
||
caractere_recu = uart0_rx();
|
||
Buffer[nombre_element_tableau++] = caractere_recu;
|
||
}
|
||
|
||
for(i=0 ; i<5 ; i++)
|
||
{
|
||
if(Buffer[i] != string[i])
|
||
return 0;
|
||
}
|
||
|
||
return nombre_element_tableau;
|
||
|
||
}
|
Formats disponibles : Unified diff
Debut tp spc1