Projet

Général

Profil

751 celasherme
/***********************************************************************/
/* */
/* FILE :SP4C1.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 serie
void uart0_init (void)
{
761 celasherme
u0mr=0b00000101; // configuration UART mode 8bit data length, internal clock , parity disabled , TX RX not inverted
751 celasherme
// on n'utilise pas
u0smr=0x00;
u0smr2=0x00;
u0smr3=0x00;
u0smr4=0x00;

// pour configurer la frequence f8=(20Mhz/8) , CTS function not selected ,CTS function disabled ,LSB first
u0c0=0b00010001;

u0brg=32;


/// transmit bit operation enable and receive operation enable
u0c1=0x00;

761 celasherme
pd6_0=0;
pd6_1=0;
pd6_2=0;
pd6_3=1;
751 celasherme
ps0_0=0;
ps0_1=0;
ps0_2=0;
ps0_3=1;

u0c1=0b00000101;


}

void uart0_tx(char c) // envoyer un caractere sur la liaison serie
{
761 celasherme
while (ti_u0c1 !=1); // on attend que le port serie soit libre
u0tb=c; //ecriture dans le registre de transmition

751 celasherme
}

761 celasherme
char uart0_rx(void) // r?ception d?un caract?re sur le port s?rie
751 celasherme
{
761 celasherme
while (ri_u0c1 !=1); //attendre que le port serie soit libre
return u0rb;
751 celasherme
}

void main(void)
{
761 celasherme
// char c='A' // on lui dit de commancer par 'A'
int i;
751 celasherme
uart0_init();
761 celasherme
/*while(1) // emet en boucle le meme carac
{
for(i=0;i<26;i++) // pour i<26 lettres de l'aphabet donc pour ne pas depasser le Z
{
carac='A'+i; // on incremente A de 1 pour passer a la lettre suivante
uart0_tx(carac); // on affiche la nouvelle lettre a chaque fois
}
}*/
751 celasherme
761 celasherme
while(1)
751 celasherme
{
761 celasherme

751 celasherme
}
761 celasherme
751 celasherme
}