Harkonnen Modérateur Un modo pour les bannir tous | J'avais eu ce genre d'erreur il y a assez longtemps, ça venait d'une combinaison de databits/parity/stopbits non supportée, d'ou l'erreur 87 (paramètre invalide). J'en avait bavé pour résoudre ce sac de noeuds, il a fallu que je tatonne...
Essaie l'exemple suivant tiré du MSDN pour voir déja si ta structure DCB est correcte. Si tu n'as plus l'erreur 87, alors ça vient de la. A toi ensuite de tatonner pour trouver une combinaison valable
Code :
- /* A sample program to illustrate setting up a serial port. */
- #include <windows.h>
- int main(int argc, char *argv[])
- {
- DCB dcb;
- HANDLE hCom;
- BOOL fSuccess;
- char *pcCommPort = "COM2";
- hCom = CreateFile( pcCommPort,
- GENERIC_READ | GENERIC_WRITE,
- 0, // must be opened with exclusive-access
- NULL, // no security attributes
- OPEN_EXISTING, // must use OPEN_EXISTING
- 0, // not overlapped I/O
- NULL // hTemplate must be NULL for comm devices
- );
- if (hCom == INVALID_HANDLE_VALUE)
- {
- // Handle the error.
- printf ("CreateFile failed with error %d.\n", GetLastError());
- return (1);
- }
- // Build on the current configuration, and skip setting the size
- // of the input and output buffers with SetupComm.
- fSuccess = GetCommState(hCom, &dcb);
- if (!fSuccess)
- {
- // Handle the error.
- printf ("GetCommState failed with error %d.\n", GetLastError());
- return (2);
- }
- // Fill in DCB: 57,600 bps, 8 data bits, no parity, and 1 stop bit.
- dcb.BaudRate = CBR_57600; // set the baud rate
- dcb.ByteSize = 8; // data size, xmit, and rcv
- dcb.Parity = NOPARITY; // no parity bit
- dcb.StopBits = ONESTOPBIT; // one stop bit
- fSuccess = SetCommState(hCom, &dcb);
- if (!fSuccess)
- {
- // Handle the error.
- printf ("SetCommState failed with error %d.\n", GetLastError());
- return (3);
- }
- printf ("Serial port %s successfully reconfigured.\n", pcCommPort);
- return (0);
- }
|
---------------
J'ai un string dans l'array (Paris Hilton)
|