GNT sans publicité, site mobile, fonctionnalitées exclusives...

Port COM

Le
tjfromparis
Bonjour

Je developpe une appli avec dialogue sur port COM.
Jamais fait ce genre de choses et il y a deux trois petites choses qui
me chiffonnent :

- souvre() me retourne OK meme si je n'ai rien de branché sur le port
COM. ?!?

- Soit, dans une fonction à part, j'ecris donc un ordre et attends la
réception pour vérifier qu'il y a l’équipement à l'autre bout.
Apres c'est message en cas de pepin ou continuation si OK.
Dans les 2 cas, fermeture du port COM. (Le tout etant dans une
procédure d'auto-test appelée au debut du programme).

En cas de succès, lorsque je ré-ouvre mon port COM un peu plus loin,
le souvre() ne fonctionne plus (acces refusé).
Par contre, si je deroule le code en mode debug aucun problème.


Y'a t-il une latence pour que le système ferme réellement le port COM
apres que je lui envoi l'ordre de le faire ?

connaissez vous un soft qui permet de savoir qui occupe un port COM ?
(les outils habituels de Microsoft (entre autre) ne fonctionnent pas
sur Seven)

Merci
Lire les 9 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Romain PETIT
Le #23720431
a écrit :
Bonjour



Bonjour,

- souvre() me retourne OK meme si je n'ai rien de branché sur le port
COM. ?!?



Normal.

- Soit, dans une fonction à part, j'ecris donc un ordre et attends la
réception pour vérifier qu'il y a l'équipement à l'autre bout.
Apres c'est message en cas de pepin ou continuation si OK.
Dans les 2 cas, fermeture du port COM. (Le tout etant dans une
procédure d'auto-test appelée au debut du programme).
En cas de succès, lorsque je ré-ouvre mon port COM un peu plus loin,
le souvre() ne fonctionne plus (acces refusé).
Par contre, si je deroule le code en mode debug aucun problème.
Y'a t-il une latence pour que le système ferme réellement le port COM
apres que je lui envoi l'ordre de le faire ?



Non, c'est très probablement ton appli qui ne ferme pas le port.
Tu es sûr de bien fermer ? (sFerme et non fFerme, N° du port com au
lieu du N° donné par sOuvre etc....)

A+

--
Romain PETIT
contact : rompetit chez free fr
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
Romain PETIT
Le #23720421
Non, c'est très probablement ton appli qui ne ferme pas le port.



Mais au fait, pourquoi fermes tu ce port pour le réouvrir ?
Garde le ouvert.

A+

--
Romain PETIT
contact : rompetit chez free fr
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
Fredo
Le #23727941
Le 03/09/2011 08:04, Romain PETIT a écrit :
Non, c'est très probablement ton appli qui ne ferme pas le port.



Mais au fait, pourquoi fermes tu ce port pour le réouvrir ?
Garde le ouvert.

A+





Salut,

Si tu n'es pas sous seven, il existe un freeware génial (aspycom) qui
permet d'espionner les communications rs232.

Tu sélectionne ton port com, tu passe en mode transparent et tu peux
voir tous les échanges entre ton pc et ta bascule.

Bon dev.

Fred
tjfromparis
Le #23728061
Je suis sous Seven, donc pour aspycom c'est mort. En fait, c'est mort
pour tous les softs que je connais. phenomene curieux : les petits de
MS fonctionnent tous sur seven sauf celui pour le port COM.

Pour l'ouverture du port com qui peut se faire sans rien dessus, me
doutais que c'etait normal. Du coup, je cherche à je contacter
l'automate au bout pour verifier s'il est là.

J'ouvre donc mon port com , si ok j'envoi un message à l'automate, en
fonction de la reponse je sais s'il est au bout ou pas. Je ferme le
COM.
Tout ca dans le debut du projet (inutile d'aller plus loin si
l'automate ne repond pas)

En mode debug ca fonctionne impeccable, mais en mode test (sans pas à
pas) lorsque j'ouvre le port COM (apres le test d'existence) j'ai une
erreur : "Ouverture impossible".
c''est comme si j'essayais d'ouvrir le port com alors que le systeme
n'avait pas encore eu le temps de le fermer.
Evidemment, multitache temporise etc ne reglent pas mon probleme.






On 5 sep, 08:46, Fredo
Le 03/09/2011 08:04, Romain PETIT a crit :

>> Non, c'est tr s probablement ton appli qui ne ferme pas le port.

> Mais au fait, pourquoi fermes tu ce port pour le r ouvrir ?
> Garde le ouvert.

> A+

Salut,

Si tu n'es pas sous seven, il existe un freeware g nial (aspycom) qui
permet d'espionner les communications rs232.

Tu s lectionne ton port com, tu passe en mode transparent et tu peux
voir tous les changes entre ton pc et ta bascule.

Bon dev.

Fred
Cyrille
Le #23728011
Bonjour,

Pour toute communication sur un port quelconque (COM ou autre) il faut
définir un protocole pour communiquer entre les 2 appareils.
Il existe des protocoles standards de communication sur port COM.

Pour savoir si ton appareil est branché de l'autre coté, il faut définir
le message d'acceuil (shakehand) pour être sur que tu causes bien au bon
appareil à l'autre bout.
Si rien n'est branché tu aura une erreur de timeout de toute façon.
Si c'est bien ton appareil qui a répondu tu peux alors commencer la
communication.

Le 02/09/2011 22:27, a écrit :
Bonjour

Je developpe une appli avec dialogue sur port COM.
Jamais fait ce genre de choses et il y a deux trois petites choses qui
me chiffonnent :

- souvre() me retourne OK meme si je n'ai rien de branché sur le port
COM. ?!?

- Soit, dans une fonction à part, j'ecris donc un ordre et attends la
réception pour vérifier qu'il y a l’équipement à l'autre bout.
Apres c'est message en cas de pepin ou continuation si OK.
Dans les 2 cas, fermeture du port COM. (Le tout etant dans une
procédure d'auto-test appelée au debut du programme).

En cas de succès, lorsque je ré-ouvre mon port COM un peu plus loin,
le souvre() ne fonctionne plus (acces refusé).
Par contre, si je deroule le code en mode debug aucun problème.


Y'a t-il une latence pour que le système ferme réellement le port COM
apres que je lui envoi l'ordre de le faire ?

connaissez vous un soft qui permet de savoir qui occupe un port COM ?
(les outils habituels de Microsoft (entre autre) ne fonctionnent pas
sur Seven)

Merci
Publicité
Suivre les réponses
Poster une réponse
Anonyme