Projet

Général

Profil

/***********************************************************************/
/* */
/* FILE :sp4c1.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"
//les prototypes
void uart0_init (void);
void uart0_tx(char c);
void alphabet(char *chaine);
char uart0_rx(void);
int rectrame (char * Buffer);

//Initialisation du port s?rie 0
void uart0_init(void)
{
u0mr = 0x05;
u0brg = 0x20;
u0c0 = 0x11;
u0c1 = 0x05;
pd6 = 0x08;
ps0 = 0x08;
psl0=0x00;
}
//Envoi d'un caract?re
void uart0_tx(char c)
{
while(ti_u0c1 !=1);
u0tb=c;
}
//Envoi une suite de caract?re de ?A? ? ?Z?
void alphabet(char *chaine)
{
int i=0;
while(chaine[i]!='\0')
{
uart0_tx(chaine[i]);
i++;
}
}
//fonction d'attente d'un caract?re sur la liaison s?rie et renvoie le caract?re suivant dans l'alphabet
char uart0_rx(void)
{
while(ri_u0c1!=1);
return u0rb;
}

//copie la trame re?ue dans le tampon buffer et signale la bonne r?ception d?une trame par une valeur de retour non nulle correspondant au nombre de caract?res pr?sents dans la trame
int Rectrame(char *Buffer)
{
int i =0;
char caractere_recu;
char checksum = '0';
caractere_recu = uart0_rx();/**lecture du caractere recu**/
while ( caractere_recu != '$') /**detection trame**/
{
i = 0;
checksum ='0';
}
while ( caractere_recu != '*')/**memorisation de la trame re?ue**/
{
caractere_recu = uart0_rx();
Buffer[i++] = caractere_recu;
// checksum = cheksum^caractere_recu;
}
return i ;
}


void main ()
{
char chaine[]= "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
uart0_init();
while(1)
alphabet(chaine);
Rectrame(char *Buffer)
}
(2-2/7)