Projet

Général

Profil

« Précédent | Suivant » 

Révision 883

Ajouté par begresset il y a environ 4 ans

Séance c3

Voir les différences:

SP4C12.c
/***********************************************************************/
#include "sfr32c87.h"
//Initialisation du port 1
void init_led(void){
pd1=0b11111111;
p1=0b00000000;
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;
......
char uart0_rx(){
while (ri_u0c1!=0);
while (ri_u0c1!=1);
return u0rb;
}
char buffer[128]=0, trame[]="$GPGGA*";
//Test de uart0_rx() :
void main(void)
/*void test_uart0_rx()
{
int etat=0, i=0;
uart0_init();
init_led();
if((trame[i])=='$'){
if((uart0_rx())=='$'){
p1=0xff;
while((trame[i])!='*'){
buffer[i]=trame[i];
i++;
}
}
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)
{

Formats disponibles : Unified diff