root/branch/gresset/sp4c12/SP4C12/SP4C12.c @ 892
722 | begresset | /***********************************************************************/
|
|
/* */
|
|||
/* 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"
|
|||
883 | begresset | //Initialisation du port 1
|
|
808 | begresset | void init_led(void){
|
|
883 | begresset | pd1=0b11111111; //Toutes les broches sont mises en sortie
|
|
p1=0b00000000; //Toutes les broches sont mises ? 0
|
|||
808 | begresset | }
|
|
883 | begresset | //Initialisation des registres permettant la communication par l'UART0
|
|
722 | begresset | void uart0_init(void){
|
|
883 | begresset | ||
//Initialisation des registres de l'UART0
|
|||
722 | begresset | u0mr=0b00000101;
|
|
726 | begresset | u0brg=0b00100000;
|
|
808 | begresset | u0c0=0b00001001;
|
|
u0c1=0b00010101;
|
|||
883 | begresset | ||
//Initialisation des broches du PORT6 sur lesquelles est reli? l'UART
|
|||
808 | begresset | pd6_0=0;
|
|
pd6_1=0;
|
|||
pd6_2=0;
|
|||
pd6_3=1;
|
|||
ps0_0=0;
|
|||
ps0_1=0;
|
|||
ps0_2=0;
|
|||
ps0_3=1;
|
|||
722 | begresset | }
|
|
726 | begresset | void uart0_tx(char c){
|
|
808 | begresset | while (ti_u0c1!=1);
|
|
u0tb=c;
|
|||
726 | begresset | }
|
|
722 | begresset | ||
808 | begresset | ||
char uart0_rx(){
|
|||
883 | begresset | while (ri_u0c1!=1);
|
|
808 | begresset | return u0rb;
|
|
}
|
|||
883 | begresset | ||
808 | begresset | //Test de uart0_rx() :
|
|
883 | begresset | /*void test_uart0_rx()
|
|
722 | begresset | {
|
|
808 | begresset | ||
726 | begresset | uart0_init();
|
|
808 | begresset | init_led();
|
|
883 | begresset | if((uart0_rx())=='$'){
|
|
808 | begresset | p1=0xff;
|
|
}
|
|||
if((uart0_rx())=='*'){
|
|||
p1=0x0f;
|
|||
}
|
|||
883 | begresset | }*/
|
|
char trame[100];
|
|||
int i;
|
|||
//Fonction rec_trame sans machine d'etat ni interruptions
|
|||
int rec_trame (char trame[]){
|
|||
808 | begresset | ||
883 | begresset | 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;
|
|||
}
|
|||
808 | begresset | ||
883 | begresset | void main (void){
|
|
}
|
|||
808 | begresset | //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++;
|
|||
}
|
|||
726 | begresset | }
|
|
808 | begresset | }*/
|