Port série et WriteFile !

Signaler
Messages postés
7
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
29 avril 2003
-
Messages postés
7
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
29 avril 2003
-
Bonjour tout le monde !

Voilà mon pb : je veux envoyer des entiers par le port série avec WriteFile.

Voici le programme que je lance :

//ouverture du port :

m_Com = CreateFile( "COM1", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_WRITE,
NULL, OPEN_EXISTING, 0, NULL );

//initialisation du port

SetupComm( m_Com, 1024, 1024 );
GetCommState( m_Com, &dcb );
dcb.BaudRate = BAUD_9600;
dcb.Parity = NOPARITY;
dcb.ByteSize = 8;
dcb.StopBits = ONESTOPBIT;
SetCommState( m_Com, &dcb );

//envoi de données

void envoi(int data)
{
dw=0; // DWORD déclaré en variable globale
WriteFile( m_Com,(void*) &data,sizeof(int), &dw, 0 );
}

Dans mon main j'ouvre, j'initialise et je lance ma fonction envoi(11) par exemple.

J'ai téléchargé un logiciel de dialogue avec port série et qd je regarde ce qu'envoie mon pogramme il me met n'importe quoi du genre 240 240 ou 000 000...

Si qq'un a une idée du pb ou un exemple de programme avec WriteFile qui marche pour les entiers sous VC++ ce serait super !!!

Merci d'avance !

nanalye

1 réponse

Messages postés
7
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
29 avril 2003

Bon en fait g trouvé l'erreur. Ca pourrait intéresser des gens... En fait dans mon initialisation g mis :
dcb.BaudRate = BAUD_9600;
et en fait c'est :
dcb.BaudRate = CBR_9600;
Ct tout !

Bon courage à tous

nanalye