root/branch/smseck/sp4c12/sp4c1/SP4c1/SP4c1.c @ 864
849 | smseck1 | /***********************************************************************/
|
|
/* */
|
|||
/* 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"
|
|||
864 | smseck1 | //int trame_ok=0;
|
|
849 | smseck1 | //les prototypes
|
|
void uart0_init (void);
|
|||
void uart0_tx(char c);
|
|||
void alphabet(char *chaine);
|
|||
char uart0_rx(void);
|
|||
864 | smseck1 | //int rectrame (char *buffer);
|
|
//void irectrame();
|
|||
849 | smseck1 | ||
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;
|
|||
}
|
|||
864 | smseck1 | ||
849 | smseck1 | /*int rectrame(char *buffer)
|
|
{
|
|||
int i = 0;
|
|||
char caractere_recu;
|
|||
char checksum = '0';
|
|||
864 | smseck1 | caractere_recu = uart0_tx(); //lecture du caractere recu*
|
|
849 | smseck1 | while ( caractere_recu != '$')//detection trame
|
|
{
|
|||
864 | smseck1 | i = 0;//nombre de caract?res pr?sents dans la trame
|
|
849 | smseck1 | checksum = 0;
|
|
}
|
|||
while ( caractere_recu != '*') //memorisation de la trame re?ue
|
|||
{
|
|||
caractere_recu = uart0_rx();
|
|||
buffer[i++] = caractere_recu;
|
|||
checksum = checksum ^ caractere_recu;
|
|||
}
|
|||
864 | smseck1 | return i ;
|
|
849 | smseck1 | }*/
|
|
void main ()
|
|||
{
|
|||
char chaine[]= "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|||
864 | smseck1 | int i=0;
|
|
849 | smseck1 | uart0_init();
|
|
while(1)
|
|||
864 | smseck1 | // rectrame(i);
|
|
849 | smseck1 | alphabet(chaine);
|
|
}
|