Projet

Général

Profil

/***********************************************************************/
/* */
/* 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++;
}
}
}*/

(2-2/9)