Projet

Général

Profil

« Précédent | Suivant » 

Révision 725

Ajouté par Massamba FALL il y a presque 4 ans

Debut tp spc1

Voir les différences:

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