Projet

Général

Profil

« Précédent | Suivant » 

Révision 884

Ajouté par albeaufour il y a environ 4 ans

Commit Fin de Séance C3

Voir les différences:

SP4c12.c
#include "sfr32c87.h"
#define plcd p3;
char trame[80];
char tab_trame[10][80];
int CSc,CSr;
int i=0;
//Fonction initialisation//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void init_portserie(void)
......
}
//Fonction lecture trame//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int sup_tram()
{
int i;
for (i=0;i<80;i++);
trame[i]=0x00;
}
int rectrame (char * buffer)
{
int i=1;
do
int /*i=0,*/j,val=0;
//int CS;
CSc=0,CSr=0;
if(reception()=='$')
{
*(buffer+i) = reception();
i++;
}while(*(buffer+i)!= '*');
i=0;
*(buffer+i) = '$';
do
{
i++;
*(buffer+i) = reception();
if (*(buffer+i)== '*'){val=1;}
if (val==0) {CSc=CSc ^ *(buffer+i);} // pour ne pas que les checksum prenne en compte le '*'
}while(*(buffer+i-2)!= '*');
}
CSr = *(buffer+(i-1));
CSr = CSr<<4 ;
CSr = CSr + *(buffer+i);
if(CSr!=CSc)
sup_tram();
return (i+1);
}
void creation_tab_trame (int col, int *lig,char tram[80],char tab_tram[10][80])
{
int i;
for (i=0;i<=col;i++)
for (i=0;i<col;i++)
{
tab_tram[*lig][i]=tram[i];
}
for (i=col;i<80;i++)
{
tab_tram[*lig][i]=0x00;
}
*lig++;
}
char valeur;
char trame[80];
char tab_trame[10][80];
void main(void) //reception de caract?re
{
int i,nb,ligne;
{
int i,nb,ligne=0;
//initialisation des led en sortie
init_portserie();
nb=rectrame (trame);
creation_tab_trame(nb,&ligne,trame,tab_trame);
if (ligne==10){ligne=0;}
init_portserie();
while(1)
{
nb=rectrame (trame);
creation_tab_trame(nb,&ligne,trame,tab_trame);
ligne;
if (ligne==10){ligne=0;}
}
}
/*void main(void) //Transmission de caract?re

Formats disponibles : Unified diff