hppp Serveur@home | Salut à tous,
Je suis en train de coder une appli en c pour récupérer des données sur un port série.
voilà mon code :
Code :
- int Read_Serie2(int SerieID)
- {
- char entete[10];
- int nbbytes = 0;
- int i;
- ReadFile(SerieID, &(entete[0]), 1, (LPDWORD)&nbbytes, NULL);
- if(entete[0]==0x7E)
- {
- for(i=1; i<=2;i++)
- {
- ReadFile(SerieID, &(entete[i]), 1, (LPDWORD)&nbbytes, NULL);
- }
- for(i=3; i<=entete[2];i++)
- {
- ReadFile(SerieID, &(entete[i]), 1, (LPDWORD)&nbbytes, NULL);
- }
- printf("l'entete = 0x%x.\n",entete[0]);
- printf("longeur trame = 0x%.2x.\n",entete[1]);
- printf("longeur trame = 0x%.2x.\n",entete[2]);
- printf("Les donnees en hexa sont : " );
- for (i = 3; i < entete[2]+3; i++)
- {
- printf("0x%.2x ", entete[i]);
- }
- printf("\n" );
- }
- return 0;
- }
|
Mon programme marche bien mais je reçois des données en trop. J'ai donc regardé avec un sniffer de port série et j'ai à l'entré de mon port série ça : 7E 00 14 90 00 13 A2 00 40 62 A9 25 7F 20 01 54 78 44 61 74 61 30 41 F3
Ma trame attendu.
mais après réception par mon programme en c j'ai ça :
7e 00 14 ffffff90 00 13 ffffffa2 00 40 62 ffffffa9 25 7f 20 1 54 78 44 61 74 61 30 41 fffffff3
Savez vous pourquoi? Pourquoi je reçois des ffffff en plus?
Merci |