/ / Win32, Serial Port Read / Write et OVERLAPPED - winapi, port série, attendez

Win32, Port série lecture / écriture et OVERLAPPED - winapi, port série, attendez

J'essaie de rassembler une preuve de concept pourlire / écrire sur un port série et j'ai des problèmes de conception / concept. Je ne veux pas interroger, j'essaie donc d'utiliser des E / S superposées. Dans ce cas, ce n'est pas une application multithread - elle utilise simplement des attentes efficaces.

  1. Port ouvert (avec OVERLAPPED)
  2. SetCommState (définir le port en bauds, la parité, CTS / RTS, etc.)
  3. SetCommMask (EV_BREAK, EV_CTS, EV_DSR, ..., EV_RXCHAR, EV_RXFLAG, EV_TXEMPTY)
  4. Créer des structures et des événements CHEVAUCHÉS
  5. WriteFile (vers le port)
  6. WaitCommEvent (dû à l'écriture)
  7. WaitCommEvent (en raison de la lecture)
  8. ReadFile (depuis le port)
  9. Vérifier le tampon de lecture

L'exemple MSDN est un peu boiteux (Surveillance des événements de communication). J'utilise actuellement deux événements, mais le ReadFile échoue avec ERROR_INVALID_PARAMETER.

Dans les étapes ci-dessus, ai-je besoin d'une ou deux structures superposées? Si un OVERLAPPED structure, sont les étapes WriteFile, WaitCommEvent (pour l'écriture), réinitialiser l'événement, WaitCommEvent (pour lire), ReadFile?

Réponses:

6 pour la réponse № 1

Jetez un œil à cet article, il est beaucoup plus détaillé sur la façon d'utiliser les E / S superposées avec les ports série:

Communications série