Bonjour,
je "discute" avec un port COM sur mon ordinateur portable.
Pour cela, je crée un handle comme suit :
puis je tente d'y écrire 4 octets (çà se passe bien) et immédiatement après d'en lire 1 ... et là c'est l'échec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 // get a handle on the communications port (usually COM1) m_hComm = CreateFile( pPort, GENERIC_READ | GENERIC_WRITE, 0, // comm devices must be opened w/exclusive-access NULL, // no security attributes OPEN_EXISTING, // comm devices must use OPEN_EXISTING 0, //FILE_ATTRIBUTE_NORMAL || FILE_FLAG_OVERLAPPED, // nonoverlapped I/O NULL); // hTemplate must be NULL for comm devices
dwToWrite vaut 4 et dwWritten vaut aussi 4 après l'appel de fonction WriteFile.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 fRes = WriteFile(m_hComm, lpBuf, dwToWrite, &dwWritten, &osWrite); fRes = ReadFile(m_hComm, lpBuf, dwToRead, &dwRead, &osRead);
dwToRead vaut 1 et, après l'appel (très long) à ReadFile, dwRead vaut 0 (mais fRes vaut 1).
Là, je ne comprends pas
Si quelqu'un à une 'tite idée ...
Partager