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 :
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 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; }
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
Partager