Projet

Général

Profil

/***********************************************************************/
/* */
/* FILE :SP4b1.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(void); // Initialisation du port s?rie
void uart0_tx(char c); //Envoie d'un caract?re
char uart0_rx(void); //Fonction d'attente et lecture d'un caract?re
int rectrame(char * Buffer);

char * Buff;

void main(void)
{
uart0_init();
while(1){
uart0_tx(rectrame(Buff));
}
}

void uart0_init(void){
u0mr = 0x05;
u0brg = 32;
u0c0 = 0x11;
u0c1 = 0x05;
pd6_0 = 0;
pd6_1 = 0;
pd6_2 = 0;
pd6_3 = 1; //On affecte seulement les bits que l'on a besoin pour le bon fonctionnement
ps0_3 = 1;
}

void uart0_tx(char c){
while (ti_u0c1 != 1);
u0tb = c;
}

char uart0_rx(void){
while (ri_u0c1 != 1);
return u0rb;
}

int rectrame(char * Buffer){
int i = 0;
char car_recu;
char checksum = '0';
car_recu = uart0_rx();
while (car_recu != '$'){
i = 0;
checksum = '0';
}
while (car_recu != '*'){
Buffer[i++] = car_recu;
checksum = checksum ^ car_recu; // ^ est le ou exclusif
}
return i;
}
(2-2/9)