Sous Win32, voici la méthode (Ouverture/lecture/ecriture)
// Ouvrir le fichier. HANDLE hFile = CreateFile( "COM1:", GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if ( !hFile ) return 1;
// Buffers. SetupComm( hFile, 2048, 2048 );
// Parametres.( Idem commande MODE ) DCB dcb; memset( &dcb, 0, sizeof( dcb ) ); dcb.DCBlength = sizeof( dcb ); if ( !BuildCommDCB( "baud=1200 parity=N data=8 stop=1", &dcb ) ) return 2; if ( !SetCommState( hFile, &dcb ) ) return 3;
// Time out COMMTIMEOUTS CommTimeouts; memset( &CommTimeouts, 0, sizeof(CommTimeouts)); CommTimeouts.ReadIntervalTimeout = 1000; // 2 caracteres/Sec CommTimeouts.ReadTotalTimeoutMultiplier = 1000; CommTimeouts.ReadTotalTimeoutConstant = 2000; CommTimeouts.WriteTotalTimeoutMultiplier = 1000; CommTimeouts.WriteTotalTimeoutConstant = 2000; SetCommTimeouts( hFile, &CommTimeouts );
// Lecture on utilise "ReadFile"
// ecriture on utilise "WriteFile"
// Fermeture on utilise CloseHandle( hFile )
------------------------------- Réponse au message : -------------------------------
Salut,
Comment on fait pour lire et ecrire sur un port série sous visual c++ 6 ?
merci
|