Port com

cs_darktiger Messages postés 6 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 20 juillet 2003 - 20 juil. 2003 à 10:20
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 - 12 août 2003 à 14:00
quelqu'un connait-il comment envoyer et recevoir des données sur un port com?
Quel fichier include faut-il utiliser,.. etc?
Merci de votre reponse

1 réponse

HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
12 août 2003 à 14:00
Essai de t'inspirer de cette exemple Borland C++....
HANDLE ptr_com;
DCB d;
char ordre[25],return_ordre,answer;
DWORD return_value_read;

//pour écrire sur COM1 tu ecris "COM1" sans te soucié de rien le compilo sait quoi faire. de même COM2, tu écris "COM2"

//creation d'un pointeur sur le COM1
ptr_com=CreateFile("COM1", // pointer to name of the file
GENERIC_READ|GENERIC_WRITE, // access (read-write) mode
0, // share mode
0, // pointer to security attributes
OPEN_EXISTING, // how to create
FILE_ATTRIBUTE_NORMAL, // file attributes
NULL); // handle to file with attributes to copy

//paramétrage du COM
d.DCBlength=sizeof(DCB); // sizeof(DCB)
d.BaudRate=600; // current baud rate
d.fBinary=FALSE; // binary mode, no EOF check
d.fParity=TRUE; // enable parity checking
d.fOutxCtsFlow=FALSE; // CTS output flow control
d.fOutxDsrFlow=FALSE; // DSR output flow control
d.fDtrControl=DTR_CONTROL_DISABLE; // DTR flow control type
d.fDsrSensitivity=FALSE; // DSR sensitivity
d.fTXContinueOnXoff=FALSE; // XOFF continues Tx
d.fOutX=FALSE; // XON/XOFF out flow control
d.fInX=FALSE; // XON/XOFF in flow control
d.fErrorChar=FALSE; // enable error replacement
d.fNull=FALSE; // enable null stripping
d.fRtsControl=RTS_CONTROL_DISABLE; // RTS flow control
d.fAbortOnError=FALSE; // abort reads/writes on error
d.wReserved=0; // not currently used
d.XonLim=FALSE; // transmit XON threshold
d.XoffLim=FALSE; // transmit XOFF threshold
d.ByteSize=7; // number of bits/byte, 4-8
d.Parity=EVENPARITY; // 0-4=no,odd,even,mark,space
d.StopBits=ONESTOPBIT; // 0,1,2 = 1, 1.5, 2
d.XonChar=0; // Tx and Rx XON character
d.XoffChar=0; // Tx and Rx XOFF character
d.ErrorChar=0; // error replacement character
d.EofChar=0; // end of input character
d.EvtChar=0; // received event character

//configuration du COM suivant les paramètres
SetCommState(SBE25,&d);
SetCommMask(SBE25,EV_RXCHAR);

//ecriture sur le COM
WriteFile(ptr_com,ordre,strlen(ordre),&return_ordre,NULL);
//lecture sur le COM
ReadFile(ptr_com,&answer,1,&return_value_read,NULL);
0
Rejoignez-nous