root/branch/KANAAN/sp4c12/sp4c1/c1/c1.c @ 906
787 | frkanaan | /***********************************************************************/
|
|
/* */
|
|||
/* FILE :c1.c */
|
|||
/* DATE :Thu, Jun 03, 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"
|
|||
#include "uart0.h"
|
|||
#include "uart0.c"
|
|||
892 | frkanaan | ||
void A2Z(void);
|
|||
int rectrame (char * Buffer);
|
|||
int hex_int(char *c);
|
|||
void A2Z(void)
|
|||
{
|
|||
unsigned char i;
|
|||
//while(1)
|
|||
for(i='A'; i<='Z'; i++)
|
|||
uart0_tx(i);
|
|||
}
|
|||
int rectrame (char * buffer)
|
|||
{
|
|||
int i = 0;
|
|||
int nb_caract = 0;
|
|||
char char_recu;
|
|||
char checksum_trame=0;
|
|||
char checksum_fin_trame[3];
|
|||
char calc_checksum = 0;
|
|||
char_recu = uart0_rx();
|
|||
while(char_recu != '$')
|
|||
i = 0;
|
|||
buffer[0] = '$';
|
|||
while(char_recu != '*')
|
|||
{
|
|||
char_recu = uart0_rx();
|
|||
buffer[i+1]= char_recu;
|
|||
i++;
|
|||
calc_checksum = calc_checksum ^ char_recu;
|
|||
}
|
|||
nb_caract = i;
|
|||
return nb_caract;
|
|||
}
|
|||
int hex_int(char *c)
|
|||
{
|
|||
int i=0;
|
|||
/*La boucle permet de travailler sur les deux derniers caractères du checksum de la trame reçue**/
|
|||
for(i=0; i<2; i++)
|
|||
{
|
|||
/*si le caractère est entre 0 et 9 ->retranche en ascii '0', soit 48 en décimal*/
|
|||
if(c[i]>='0' && c[i]<='9')
|
|||
c[i] = c[i]-48;
|
|||
/*si le caractere est superieur a 10, soit A en hex ->retranche le nombre 55*/
|
|||
if(c[i]>='A')
|
|||
c[i] = c[i]-55;
|
|||
}
|
|||
/*entier_cheksum= c[1] + 16*c[0]*/
|
|||
return( c[1]+16*c[0] );
|
|||
}
|
|||
787 | frkanaan | void main(void)
|
|
{
|
|||
892 | frkanaan | char c;
|
|
char buffer;
|
|||
int i, nb_caractere;
|
|||
uart0_init();
|
|||
//c = '3';
|
|||
while(1)
|
|||
{
|
|||
char trame[128];
|
|||
c = uart0_rx();
|
|||
uart0_tx(c);
|
|||
nb_caractere = rectrame(trame);
|
|||
//alphabet();
|
|||
}
|
|||
787 | frkanaan | }
|