Révision 803
Ajouté par clbouillot2 il y a presque 4 ans
branch/bouillot/sp4c12/SP4c12/uart0_init.c | ||
---|---|---|
/***********************************************************************/
|
||
/* */
|
||
/* FILE :SP4c12.c */
|
||
/* DATE :Wed, Jun 02, 2021 */
|
||
/* DESCRIPTION :initialisation uart */
|
||
/* CPU GROUP :87B */
|
||
/* */
|
||
/* This file is generated by Renesas Project Generator (Ver.4.18). */
|
||
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
||
/***********************************************************************/
|
||
|
||
|
||
void uart0_init(void)
|
||
{
|
||
u0mr = 0x05; //configure l'UART en mode 8 bits, sans parit? et avec 1 bit de stop
|
||
u0smr = 0x00;
|
||
u0smr2 = 0x00;
|
||
u0smr3 = 0x00;
|
||
u0smr4 = 0x00;
|
||
u0c0 = 0x11; //configure la fr?quence ? 2.5 MHz
|
||
u0brg = 0x20; //configure le baud rate ? 4735 bauds
|
||
u0c1 = 0x05;
|
||
pd6_3 = 1; //configure la broche TX en sortie
|
||
pd6_2 = 0; //configure la broche RX en entr?e
|
||
pd6_1 = 0;
|
||
pd6_0 = 0;
|
||
|
||
ps0_3 = 1;
|
||
ps0_2 = 0;
|
||
ps0_1 = 0;
|
||
ps0_0 = 0;
|
||
}
|
branch/bouillot/sp4c12/SP4c12/rectrame.c | ||
---|---|---|
/***********************************************************************/
|
||
/* */
|
||
/* FILE :SP4c12.c */
|
||
/* DATE :Wed, Jun 02, 2021 */
|
||
/* DESCRIPTION :fonction Rectrame */
|
||
/* CPU GROUP :87B */
|
||
/* */
|
||
/* This file is generated by Renesas Project Generator (Ver.4.18). */
|
||
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
||
/***********************************************************************/
|
||
|
||
|
||
|
||
|
||
|
||
int rectrame (char * Buffer){
|
||
|
||
char caractere_recu;
|
||
char checksum = '0';
|
||
int i = 1;
|
||
|
||
|
||
//lecture du caract?re re?u
|
||
caractere_recu = uart0_rx();
|
||
do
|
||
{
|
||
*(Buffer+1) = caractere_recu;
|
||
i++;
|
||
//checksum=checksum^caractere_recu;
|
||
}while(*(Buffer+1) != '*');
|
||
return i;
|
||
|
||
}
|
branch/bouillot/sp4c12/SP4c12/uart0_rx.c | ||
---|---|---|
/***********************************************************************/
|
||
/* */
|
||
/* FILE :SP4c12.c */
|
||
/* DATE :Wed, Jun 02, 2021 */
|
||
/* DESCRIPTION :reception uart */
|
||
/* CPU GROUP :87B */
|
||
/* */
|
||
/* This file is generated by Renesas Project Generator (Ver.4.18). */
|
||
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
||
/***********************************************************************/
|
||
|
||
|
||
char uart0_rx (void)
|
||
{
|
||
while (!ri_u0c1);
|
||
return u0rb;
|
||
}
|
branch/bouillot/sp4c12/SP4c12/uart0_tx.c | ||
---|---|---|
/***********************************************************************/
|
||
/* */
|
||
/* FILE :SP4c12.c */
|
||
/* DATE :Wed, Jun 02, 2021 */
|
||
/* DESCRIPTION :transmission uart0 */
|
||
/* CPU GROUP :87B */
|
||
/* */
|
||
/* This file is generated by Renesas Project Generator (Ver.4.18). */
|
||
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
||
/***********************************************************************/
|
||
|
||
void uart0_tx (char c)
|
||
{
|
||
while (ti_u0c1 != 1);
|
||
u0tb = c;
|
||
}
|
branch/bouillot/sp4c12/SP4c12/SP4c12.c | ||
---|---|---|
/* NOTE:THIS IS A TYPICAL EXAMPLE. */
|
||
/***********************************************************************/
|
||
#include "sfr32c87.h"
|
||
#include "uart0_tx.c"
|
||
#include "uart0_rx.c"
|
||
#include "rectrame.c"
|
||
#include "uart0_init.c"
|
||
|
||
|
||
void uart0_init(void)
|
||
{
|
||
u0mr = 0x05; //configure l'UART en mode 8 bits, sans parit? et avec 1 bit de stop
|
||
u0smr = 0x00;
|
||
u0smr2 = 0x00;
|
||
u0smr3 = 0x00;
|
||
u0smr4 = 0x00;
|
||
u0c0 = 0x11; //configure la fr?quence ? 2.5 MHz
|
||
u0brg = 0x20; //configure le baud rate ? 4735 bauds
|
||
u0c1 = 0x05;
|
||
pd6_3 = 1; //configure la broche TX en sortie
|
||
pd6_2 = 0; //configure la broche RX en entr?e
|
||
pd6_1 = 0;
|
||
pd6_0 = 0;
|
||
|
||
ps0_3 = 1;
|
||
ps0_2 = 0;
|
||
ps0_1 = 0;
|
||
ps0_0 = 0;
|
||
}
|
||
void LED_init (void){
|
||
pd1=0xFF;
|
||
p1=0x00;
|
||
|
||
|
||
void uart0_tx (char c)
|
||
{
|
||
while (ti_u0c1 != 1);
|
||
u0tb = c;
|
||
}
|
||
|
||
char uart0_rx (void)
|
||
{
|
||
while (!ri_u0c1);
|
||
return u0rb;
|
||
}
|
||
char valeur ;
|
||
int nb_caractere ;
|
||
char trame[80];
|
||
|
||
//programme permettant de lire ce que l'on re?oit sur le port s?rie
|
||
void main (void){
|
||
uart0_init();
|
||
if (valeur == '$'){
|
||
nb_caractere = rectrame(trame);
|
||
}
|
||
}
|
||
|
||
//programme permettant de lire ce que l'on re?oit sur le port s?rie et d'allumer des leds en cons?quence
|
||
/*
|
||
void main (void)
|
||
{
|
||
uart0_init();
|
||
|
||
LED_init();
|
||
while (1){
|
||
valeur = uart0_rx()+1;
|
||
valeur = uart0_rx();
|
||
if (valeur == '$'){
|
||
p1_0=1;
|
||
p1_1=1;
|
||
p1_2=1;
|
||
p1_3=1;
|
||
}
|
||
else {
|
||
p1_0=0;
|
||
p1_1=0;
|
||
p1_2=0;
|
||
p1_3=0;
|
||
}
|
||
if (valeur == '*'){
|
||
p1_4=1;
|
||
p1_5=1;
|
||
p1_6=1;
|
||
p1_7=1;
|
||
}
|
||
else {
|
||
p1_4=0;
|
||
p1_5=0;
|
||
p1_6=0;
|
||
p1_7=0;
|
||
}
|
||
}
|
||
}
|
||
|
||
/*programme permettant l'affichage de l'alphabet
|
||
//programme permettant l'affichage de l'alphabet
|
||
void main (void)
|
||
{
|
||
uart0_init();
|
Formats disponibles : Unified diff
question 10 : création rectrame