|
/***********************************************************************/
|
|
/* */
|
|
/* 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"
|
|
|
|
//Initialisation du port 1
|
|
void init_led(void){
|
|
pd1=0b11111111; //Toutes les broches sont mises en sortie
|
|
p1=0b00000000; //Toutes les broches sont mises ? 0
|
|
}
|
|
|
|
//Initialisation des registres permettant la communication par l'UART0
|
|
void uart0_init(void){
|
|
|
|
//Initialisation des registres de l'UART0
|
|
u0mr=0b00000101;
|
|
u0brg=0b00100000;
|
|
u0c0=0b00001001;
|
|
u0c1=0b00010101;
|
|
|
|
//Initialisation des broches du PORT6 sur lesquelles est reli? l'UART
|
|
pd6_0=0;
|
|
pd6_1=0;
|
|
pd6_2=0;
|
|
pd6_3=1;
|
|
|
|
ps0_0=0;
|
|
ps0_1=0;
|
|
ps0_2=0;
|
|
ps0_3=1;
|
|
|
|
}
|
|
|
|
void uart0_tx(char c){
|
|
while (ti_u0c1!=1);
|
|
u0tb=c;
|
|
}
|
|
|
|
|
|
char uart0_rx(){
|
|
while (ri_u0c1!=1);
|
|
return u0rb;
|
|
}
|
|
|
|
|
|
//Test de uart0_rx() :
|
|
/*void test_uart0_rx()
|
|
{
|
|
|
|
uart0_init();
|
|
init_led();
|
|
|
|
if((uart0_rx())=='$'){
|
|
p1=0xff;
|
|
}
|
|
if((uart0_rx())=='*'){
|
|
p1=0x0f;
|
|
}
|
|
}*/
|
|
|
|
char trame[100];
|
|
int i;
|
|
|
|
//Fonction rec_trame sans machine d'etat ni interruptions
|
|
int rec_trame (char trame[]){
|
|
|
|
char car;
|
|
i=0;
|
|
uart0_init();
|
|
|
|
while(1){
|
|
if((uart0_rx())=='$'){
|
|
car=uart0_rx();
|
|
while(car!='*'){
|
|
trame[i]=car;
|
|
i++;
|
|
car=uart0_rx();
|
|
}
|
|
}
|
|
}
|
|
return i;
|
|
}
|
|
//conversion d'un hexad?cimal en entier (ne fonctionne pas
|
|
int hex2int (char c[]){
|
|
int entier=0;
|
|
entier=(c[1]-48)*16+(c[0]-48);
|
|
return entier;
|
|
}
|
|
|
|
void main (void){
|
|
|
|
|
|
}
|
|
|
|
//Affiche l'alphabet en continu
|
|
/*void main(void)
|
|
{
|
|
char c='A';
|
|
int i;
|
|
uart0_init();
|
|
|
|
while(1){
|
|
i=0;
|
|
while (i<26){
|
|
uart0_tx(c+i);
|
|
i++;
|
|
}
|
|
}
|
|
}*/
|
|
|