1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| /*Permet d'envoyer une chaine de caractére et de l'afficher*/
void trans_chaine(char car)
{if(car=='\r'){printf("\r\n");}
else{printf("%c",car);}
}
/*Permet de recevoire une chaine de caractére et de l'afficher*/
void recv_chaine(char car)
{char buffer[255]; int i=0;//Buffer
}
int main()
{int fd;//Descripteur fichier du port serie
char cara=0;
fd_set setSerial;//Permet de savoir si on a recu des données
/*On passe le terminal en mode raw pour gerer le kbhit()*/
static struct termios cooked;
struct termios raw;
tcgetattr(STDIN_FILENO, &cooked);
raw = cooked;
cfmakeraw(&raw);
tcsetattr(STDIN_FILENO, TCSANOW, &raw);
//On initialise le port serie
if((fd=init_com(COM3,SANS))==-1){return(-1);}
printf("Port COM%d ouvert avec succés\r\n",COM3);
while(cara!='q')
{
if(unix_kbhit())//s'il y a une frappe de clavier
{cara=getchar();trans_chaine(cara);}
}
//On ferme correctement le port serie
close(fd);
//On repasse le terminal en mode normal
tcsetattr(STDIN_FILENO, TCSANOW, &cooked);
printf("Fermeture du programme\r\n");
return(1);
} |
Partager