|
/***********************************************************************/
|
|
/* */
|
|
/* FILE :uart0.c */
|
|
/* DATE :Wed, Jun 02, 2021 */
|
|
/* DESCRIPTION :main program file. */
|
|
/* CPU GROUP :87B */
|
|
/* */
|
|
/* This file is generated by Renesas Project Generator (Ver.4.18). */
|
|
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
|
/***********************************************************************/
|
|
#include "sfr32c87.h"
|
|
|
|
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;
|
|
|
|
}
|