[.net c++] gestion du port série

stgi02
[.net c++] gestion du port série

salut,
j'ai une question sur la gestion du port série

pouvez-vous m'expliquer ce que signifie SetCommTimeouts ,GetCommTimeouts , COMMTIMEOUTS

merci de m'aider

fredericmazue

> SetCommTimeouts ,GetCommTimeouts , COMMTIMEOUTS

Les deux premiers permettent de définir (Set) ou de connaître (Get) le delai à l'issue duquel une tentative de communication avec le port (read ou write) échoue et rend la main. COMMTIMEOUTS est une structure qui sert de paramètres aux deux APIs

Que tu poses la question seulement maintenant après avoir dit que tu as finit ton hyper terminal pour ce qui est de la communication avec le port... ça donne le vertige.

Cela dit, Microsoft recommande de ne pas utiliser ces APIs.... mais plutôt d'utiliser des object de synchronisation Windows et d'attendre leur changement d'état avec WaitForSingleObject ou WaitForMultipleObjects, APIs qui permettent de spécifier un timeout. (je te renvoie à la doc Microsoft) D'après Microsoft, un programme de communication série qui ne procède pas comme ça est garanti ne pas marcher ou marcher mal, et finalement perdre des octets dans la transmission à un moment ou à un autre. Va sur le site http://msdn.microsoft.com et fait des recherches dans la base de connaissance, tu verras.
Désolé de te parler comme ça. Ce n'est pas de ta faute, c'était à ton maître de stage de t'expliquer ça dès le départ :x

stgi02

merci pour tes réponses
on m'a aider pour ce programme c'est pour cela que je ne comprend pas certaines fonctions

dans mon programme tout les paramètres de cette fonction sont à 0
, est ce que cette fonction est utlisé sachant que les paramètres sont à 0

est ce que cette fonction est important pour un bon fonctionnment , je pose cette question car j' ai du mal à cerné ce qu'elle fait réellement

j'avais déja été voir sur le net mais ça ne m'a pas apporté plus

merci bcp de ton aide

fredericmazue

> dans mon programme tout les paramètres de cette fonction sont à 0
> , est ce que cette fonction est utlisé sachant que les paramètres sont à
> 0
> est ce que cette fonction est important pour un bon fonctionnment , je
> pose cette question car j' ai du mal à cerné ce qu'elle fait réellement

Je te réponds, mais comme je n'ai pas vu le code, je ne te garantis pas que ma réponse soit fiable à 100%
En principe si tout est à zéro comme tu dis, cela veut dire qu'il n'y a pas de timeout, ou qu'il est infini, c'est pareil, et qu'un accès au port ne rend la main que si une opératon est faite. Par exemple si tu appelles Read, elle ne rend pas la main tant qu'un octet n'est pas lu s'il ny a pas de timeout. Si la valeur n'était pas 0 mais N millisecondes et si aucun octet n'arrive sur le port, Read rendrait la main apèrs N millisecondes.

> j'avais déja été voir sur le net mais ça ne m'a pas apporté plus

Pour le port série, deux références seulement:

1) La base de connaissance de Microsoft
2) mes articles dans Programmez! :wink:

stgi02

merci pour ton aide