Projet

Général

Profil

/***********************************************************************/
/* */
/* FILE :sp4c1.c */
/* DATE :Mon, Jun 07, 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"


void uart0_init(void);
void uart0_tx(char c);
char uart0_rx(void);
int rectrame(char * buffer);
void tableau_trame(int colonne, int *ligne, char trame[80], char tab_trame[10][80]);
char renvoie_caractere_suivant(void);

char val;
char tram[80];
char tab_tram[10][80];
void alphabet(void);


/*void main(void)
{
int i,n,lig;
uart0_init();
n=rectrame(tram);
tableau_trame(n,&lig,tram,tab_tram);
if(lig==10)
lig=0;
while(1){
uart0_tx('b');
}
}*/
//char c='A';

void main(void){
int i;
uart0_init();
while(1){
for(i=0;i<26;i++){
uart0_tx('A'+i);
}
}
}


void uart0_init(void){
pd6_1=0;
pd6_3=1;
pd6_0=0;
ps6_2=0;
ps0_3=1;
ps0_1=0;
ps0_2=0;
//registre u0mr
smd0_u0mr=1;//mode horloge synchrone
smd1_u0mr=0;//mode UART 8-bits
smd2_u0mr=1;//mode UART 8-bits
ckdir_u0mr=0;//configuration horloge interne
stps_u0mr=0;//configuration pour 2 bits de stops
pry_u0mr=0;// selection du bit de parite
prye_u0mr=0;//activation du bit de parite
iopol_u0mr=0;//polarite non-inversee
u0smr=0x00;
u0smr2=0x00;
u0smr3=0x00;
u0smr4=0x00;
//registre u0c0
clk0_u0c0=1;/*configuration pour f8 */
clk0_u0c0=0;
crs_u0c0=1;//activation du clear to send (CTS)
crd_u0c0=1;//
nch_u0c0=0;//Selection Port de sortie : CMOS
ckpol_u0c0=0;//
uform_u0c0=0;//selection du LSB en premier
//baud rate
u0brg=0x20;//Initialisation du registre U0BRG a 32 bits
//registre u0c1
te_u0c1=0;//desactvation de la transmition d'operation
re_u0c1=0;//desactvation de la reception d'operation
u0lch_u0c1=0;
u0rrm_u0c1=0;
sclkstpb_u0c1=0;
u0c1=0x05;
}


void uart0_tx(char c){
crd_u0c0=1;
crs_u0c0=0;
u0tb=c;
te_u0c1=0;
/*while(ti_u0c1 !=1);
u0tb=c;*/
}


char uart0_rx(void){
while(ri_u0c1 !=1)
return(u0rb);
}


/*void alphabet(void){
char c='A';
int i;
for(i=0;i<26;i++){
uart0_tx(c);
c+=1;
}
}
*/
/*char renvoie_caractere_suivant(void){
char carac=uart0_rx();
return carac+=1;
}
*/
/*int rectrame(char *buffer){
int i=1;
do
{
(*buffer+i)=uart0_tx();
i++;
}while((*buffer+i)!='*');
return (i+1);
}
*/

void tableau_trame(int colonne, int *ligne, char trame[80], char tab_trame[10][80]){
int i;
for(i=0;i<=colonne;i++){
tab_trame[*ligne][i]=trame[i];
}
*ligne++;
}
(9-9/12)