Bonjour, je travaille actuellement sur Microsoft Embedded Visual C++ 4.0 et j'ai un petit soucis avec le port série.
J'ai vu sur la FAQ que farscape a créé une classe permettant de gérer facilement le port COM, mais malheureusement pour moi cette classe n'est pas compatible avec la version Embedded de Visual C++ ...
Mon problème à l'heure actuelle est je pense du à une mauvaise configuration de mon port série.
Je m'explique:
Je suis en train de dévelloper une application qui permettra d'échanger des données entre une balance (qui renvoie un poids) et un pocket PC.
pour le moment j'arrive sans problème à envoyer des données à la balance (comme pour lui donner l'ordre d'envoyer le poids ou de remettre à zéro) mais le problème viens lorsque j'essaye de récupérer les données envoyées par cette balance.
Si l'on se place du point de vu de mon pocket PC en gros j'arrive à écrire des données sur le port série mais je n'arrive pas à lire des données.
Chose encore plus étrange (et c'est cela qui me fait penser à une mauvaise configuration de mon port série) c'est que lorsque je débranche mon cable série (matériellement) les données arrivent...
Alors pour le moment la config de mon port série imposée par la balance est :
Bits/s : 9600
Bits de données : 7
Parité : Impair
Bit d'arrêt : 1
Contrôle d'erreur (c'est la que j'ai des difficultés) : Handshake Hardware 2 caractère après CTS.
Mon code pour configurer tout ça est :
Alors j'aimerai savoir si ma configuration est bonne ou bien si le problème vient d'ailleur ??
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 PortDCB.DCBlength = sizeof (DCB); PortDCB.BaudRate = 9600; PortDCB.fBinary = TRUE; PortDCB.fParity = TRUE; PortDCB.fOutxCtsFlow = FALSE; PortDCB.fOutxDsrFlow = FALSE; PortDCB.fDtrControl = DTR_CONTROL_ENABLE; PortDCB.fDsrSensitivity = FALSE; PortDCB.fTXContinueOnXoff = FALSE; PortDCB.fOutX = FALSE; PortDCB.fInX = FALSE; PortDCB.fErrorChar = FALSE; PortDCB.fNull = FALSE; PortDCB.fRtsControl = RTS_CONTROL_ENABLE; PortDCB.fAbortOnError = FALSE; PortDCB.ByteSize = 7; PortDCB.Parity = ODDPARITY; PortDCB.StopBits = ONESTOPBIT;
Merci d'avance pour les réponses.
Partager