Problème de lecture de données sur le port USB
Bonjour a tous,
J'ai un problème lors de la lecture des données d'un programme que j'ai élaboré pour envoyer/recevoir sur les deux ports USB de mon ordinateur. Les deux ports étant relié par un câble...
Je lis les données sur Cutecom pour l'instant mais lorsque je me mets en mode de lecture ASCII le signal reçu correspond a une suite de caracteres indescriptibles qui ne correspondent pas au messages envoyés..
Code:
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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
/* Envoi du mot Hello */
void envoi(USB0_fd)
{
int write_fd;
write_fd=write (USB0_fd, "Hello gros port", 255);
if( write_fd < 0 )
{
fputs ("write() de 255 occurence\n",stderr);
}
}
/* Lecture et écriture dans un fichier */
void lecture (int USB0_fd)
{
unsigned char buffer[10];
int octets_lu, text_fd=open("/home/moh/Bureau/Stage_Lucien/test.txt", O_WRONLY); //ecriture ds fichier;
int i=0,x=0;
int k=0;
if((octets_lu=read(USB0_fd, &buffer[x], sizeof( buffer)-x )) > 0) //lecture ds fichier
write(text_fd,buffer,octets_lu);
{
for (i=x;i<x+octets_lu;i++)
{
printf("%c", buffer[i]);
}
x+=octets_lu;
printf("\n");
printf("x=%d\n",x);
write(text_fd,buffer,octets_lu); //ecriture ds fichier
k++;
for(i=0; i<10; i++)
{
printf("%c", buffer[i]);
}
}
close(text_fd);
}
/* Programme principale */
int main(int argc,char** argv)
{
int USB0_fd=0;
volatile int STOP=0;
USB0_fd=ouverture();
mode_direct(1);
// Début de l'envoi des donnees//
envoi(USB0_fd);
lecture(USB0_fd);
//Fin de l'envoi des donnees//
mode_direct(0);
close(USB0_fd);
return EXIT_SUCCESS;
}
/* Fin programme principale */ |
Merci d'avance pour votre aide :D