Projet

Général

Profil

719 magraffin
/***********************************************************************/
/* */
/* FILE :sp4C12.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"
#include "uart0.h"

799 magraffin
char tram[80];
char c,c1,c2,t1,t2,check=0,t3,t4;
int i=0,debut=0,fin_tram=0,validation=0;
727 magraffin
719 magraffin
void main(void)
{
799 magraffin
719 magraffin
uart0_init();
799 magraffin
pd1_0=1;
pd1_1=1;

727 magraffin
/*
719 magraffin
while (1)
{
for (i=0;i<26;i++)
{
uart0_tx(65+i);
727 magraffin
719 magraffin
}
727 magraffin
719 magraffin
}
727 magraffin
*/
while (1)
{
799 magraffin
fin_tram=rectram();
727 magraffin
}
}

719 magraffin
void uart0_init(void)
{
727 magraffin
719 magraffin
u0mr=0x05;
727 magraffin
u0smr=0x00;
u0smr2=0x00;
u0smr3=0x00;
u0smr4=0x00;
u0c0=0x11;
719 magraffin
u0brg=0x20;
727 magraffin
u0c1=0x00;
pd6_0=0;
pd6_1=0;
pd6_2=0;
pd6_3=1;
ps0_0=0;
ps0_1=0;
ps0_2=0;
ps0_3=1;
u0c1=0x05;
719 magraffin
}

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


char uart0_rx(void)
{
799 magraffin
while (!ri_u0c1);
727 magraffin
return u0rb;
799 magraffin
}




int decode_int(char ch)
{
char res;
if (ch>=0x30 && ch<=0x39){
res=ch-48;
}
if (ch>=0x41 && ch<=0x46){
res=ch-55;
}
return (res);
}

int rectram(char * Buffer){
fin_tram=0;
c=uart0_rx();
if (c=='\n' || c=='\r'){
return 1;
}
if (c=='*'){
/*p1_1=1;
while (i!=10000){i++;}
p1_1=0;*/
c1=uart0_rx();
c2=uart0_rx();
debut=0;
i=0;
t1=(check&0xf0)>>4;//decode_int(c1);decode_int(c1);
t2=check&0x0f;//decode_int(c2);decode_int(c2);
t3=decode_int(c1);
t4=decode_int(c2);
if (t1==t3 && t2==t4 ){
validation=1;}
}
if (debut==1){
i++;
tram[i]=c;
*(Buffer+i)=c;
check=check^c;
}
if (c=='$'){
/*p1_0=1;
while (i!=10000){i++;}
p1_0=0;*/
debut=1;
fin_tram=0;
tram[0]=c;
}
}