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"

//int trame_ok=0;
//les prototypes
void uart0_init (void);
void uart0_tx(char c);
void alphabet(char *chaine);
char uart0_rx(void);
//int rectrame (char *buffer);
//void irectrame();

typedef enum
{
synchronisation,
reception,
checksum,
validation
} etat_machine;
etat_machine etat=synchronisation;




//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;
}

/*int rectrame(char *buffer)
{
int i = 0;
char caractere_recu;
char checksum = '0';

caractere_recu = uart0_tx(); //lecture du caractere recu*
while ( caractere_recu != '$')//detection trame
{
i = 0;//nombre de caract?res pr?sents dans la trame
checksum = 0;
}
while ( caractere_recu != '*') //memorisation de la trame re?ue
{
caractere_recu = uart0_rx();
buffer[i++] = caractere_recu;
checksum = checksum ^ caractere_recu;
}
return i ;
}*/


void main ()
{
char chaine[]= "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int i=0;
uart0_init();
while(1)
// rectrame(i);
alphabet(chaine);
}
(2-2/10)