cs_millouzze
Messages postés2Date d'inscriptionjeudi 14 juin 2007StatutMembreDernière intervention17 juin 2008
-
13 juin 2008 à 14:07
cs_millouzze
Messages postés2Date d'inscriptionjeudi 14 juin 2007StatutMembreDernière intervention17 juin 2008
-
17 juin 2008 à 13:42
Bonjour,
je développe une petite application C# utilisant le port série (RS232) avec framework 2.0 sous VS (2005/2008) et je rencontre un petit souci avec un remplacement de caractères. Ma configuration est 8bits/Pas de parité/1 bit de stop/ 9600bps.
Pas de parité donc monport.Parity = System.IO.Ports.Parity.None
Ma trame de bytes envoyée est en Hexa: 02 53 54 41 03 e8 0d soit <stx> STA <etx> e8 Carriage Return . Le e8 correspond à un checksum, soit un caractère dans la table ASCII.
Le probleme est que le checksum est toujours modifié à la reception par un '?'. Dans le MSDN ParityReplace est censé remplacer les bytes qui ont un problème de parité.
En mettant monport.ParityReplace = ((byte)(0)) ça ne change rien: le caractère '?' remplace tout de même mon checksum.
Quelqu'un a t'il une idée pour m'aider ?
cs_millouzze
Messages postés2Date d'inscriptionjeudi 14 juin 2007StatutMembreDernière intervention17 juin 2008 17 juin 2008 à 13:42
Bonjour,
Pour le problème avec le port série, je me suis débrouillé comme un grand. La réception/émission utilise l'encodage ASCII sur 7 bits.Comme mon checksum est sur 8 bits, et qu'il etait supérieur à 128, j'avais à chaque fois la modification du checksum par un "?", ce qui n'a rien à voir avec la propriété ParityReplace du port série.