Problème avec port série

Leucistic Messages postés 61 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 16 juin 2012 - 14 août 2008 à 15:07
Leucistic Messages postés 61 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 16 juin 2012 - 18 août 2008 à 08:57
Bonjour,

Je suis en train de réaliser une appli qui envoie une trame RS232 a une machine. Cette derniere renvoie ensuite un acknowledgement ou un non acknowledgement afin de savoir l'etat de la reception de la trame.

Mon problème est que je n'arrive pas à communiquer avec cette machine.
J'ai envoyé une trame à la main depuis COM1 de mon pc, et la machine entend, et me repond.
J'ai envoyé une trame avec mon appli depuis COM1, vers un autre pc, et la trame est bonne.
J'ai recu une trame avec mon appli, depuis un autre pc, vers COM1 de mon pc, je recois bien.
Mais lorsque je décide d'envoyer depuis le COM1 de mon pc (via mon appli), la trame à la machine, cette derniere ne répond pas.
J'en conclus donc que c'est ma configuration du port com coté appli qui n'est pas bonne, mais je ne comprends pas pourquoi, y a-t-il des paramètres ou une méthodes qui est mal implémentée ?

Voici les parametres de communication sur la machine :
1 bit de start, 8 bit de données, 1 bit de parité, 1 bit de stop.
Odd parity

Voici le code de l'init du port :
public SerialPort portCom = new SerialPort();
portCom.PortName = "COM1";
portCom.BaudRate = 38400;
portCom.DataBits = 8;
portCom.HandShake = HandShake.None;
portCom.StopBits = StopBits.One;
portCom.Parity = Parity.Odd;

Voici le code pour l'envoi et la reception :
byte[] bSequence = {0x20, 0x00, 0x20};
byte[] bRetour = { 0, 0, 0, 0 };

portCom.Write(bSequence, 0, 3);
int nbBytesToRead = portCom.BytesToRead;
portCom.Read(bRetour, 0, 4);
L'ouverture de l'esprit n'est pas une fracture du crâne

1 réponse

Leucistic Messages postés 61 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 16 juin 2012 1
18 août 2008 à 08:57
Alors toujours personne ?
J'ai fait un rapide test en Delphi avec l'objet TComPort et là, ca marche direct ...

Il me manque donc un paramètre dans ma connexion !
Quelqu'un aurait-il une idée duquel est-ce ?

L'ouverture de l'esprit n'est pas une fracture du crâne
0
Rejoignez-nous