|
/***********************************************************************/
|
|
/* */
|
|
/* FILE :SP4c12.c */
|
|
/* DATE :Wed, Jun 02, 2021 */
|
|
/* DESCRIPTION :main program file. */
|
|
/* CPU GROUP :87 */
|
|
/* */
|
|
/* This file is generated by Renesas Project Generator (Ver.4.18). */
|
|
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
|
/***********************************************************************/
|
|
#include "sfr32c87.h"
|
|
|
|
#define plcd p3;
|
|
|
|
//Fonction initialisation//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
void init_portserie(void)
|
|
{
|
|
u0mr = 0b00000101; // 4800 bauds, 8 bits de donn?es, 1 bit de stop, pas de parit?
|
|
u0smr4 = 0;
|
|
u0smr3 = 0;
|
|
u0smr2 = 0;
|
|
u0smr = 0;
|
|
u0c0 = 0b00010000; //configuration F = 20 Mhz
|
|
u0brg = 0xFF; //configuration de m = 255
|
|
u0c1 = 0b00000101;
|
|
pd6_3 = 1;
|
|
pd6_2 = 0;
|
|
pd6_1 = 0;
|
|
pd6_0 = 0;
|
|
ps0_3 = 1;
|
|
ps0_2 = 0;
|
|
ps0_1 = 0;
|
|
ps0_0 = 0;
|
|
}
|
|
|
|
//Fonction transmission/reception//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
void transmission (char c)
|
|
{
|
|
while (ti_u0c1 != 1);
|
|
u0tb = c;
|
|
}
|
|
|
|
char reception ()
|
|
{
|
|
|
|
while (ri_u0c1 != 1);
|
|
return(u0rb);
|
|
}
|
|
|
|
//Fonction lecture trame//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
int rectrame (char * buffer)
|
|
{
|
|
int i=1;
|
|
do
|
|
{
|
|
*(buffer+i) = reception();
|
|
i++;
|
|
}while(*(buffer+i)!= '*');
|
|
return (i+1);
|
|
}
|
|
|
|
void creation_tab_trame (int col, int *lig,char tram[80],char tab_tram[10][80])
|
|
{
|
|
int i;
|
|
for (i=0;i<=col;i++)
|
|
{
|
|
tab_tram[*lig][i]=tram[i];
|
|
}
|
|
*lig++;
|
|
}
|
|
|
|
char valeur;
|
|
char trame[80];
|
|
char tab_trame[10][80];
|
|
void main(void) //reception de caract?re
|
|
{
|
|
|
|
int i,nb,ligne;
|
|
//initialisation des led en sortie
|
|
init_portserie();
|
|
nb=rectrame (trame);
|
|
creation_tab_trame(nb,&ligne,trame,tab_trame);
|
|
if (ligne==10){ligne=0;}
|
|
}
|
|
|
|
/*void main(void) //Transmission de caract?re
|
|
{
|
|
int i;
|
|
init_portserie();
|
|
while (1)
|
|
for (i=0;i<26;i++)
|
|
{
|
|
transmission ('A'+i);
|
|
}
|
|
}
|
|
*/
|