problème réception port série. - C - Programmation
Marsh Posté le 09-03-2012 à 17:40:42
Peut être un problème de paramétrage du port série? Mais après je suis pas un super pro du port série
Code :
|
Merci encore de votre aide
Marsh Posté le 10-03-2012 à 00:24:51
je te donne un indice. tu remarqueras que tous les octets ayant FFFFFF en plus sont supérieurs à 0x7F.
C'est un problème de signe : char est signé donc si tu lis une valeur supérieure à 0x7F , sa valeur décimale sera négative.
Par exemple: 0xA9 vaut -87 en décimal ( un char variant entre -128 et + 127 ). Or en plus, tu demandes un affichage %x, c'est à dire en 32 bits. Donc ton -87 est converti en 32 bits, et -87 en hexadécimal 32bits s'écrit FFFFFFA9.
change ton char entete[12] en unsigned char entete[12].
Marsh Posté le 21-04-2012 à 17:06:11
Bonjour,
J'aimerais savoir quel port tu utilise avec "SerieID" et si ce programme fonctionne avec tout les port séries ?
Marsh Posté le 08-03-2012 à 19:22:50
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 :
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