1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
/*! Si port non-ouvert */
if (Handle_Com1 == NULL)
{
/*! - Alors ouvrir le com port 1 */
Handle_Com1 = CreateFile( "COM1",
GENERIC_READ | GENERIC_WRITE,
0, 0,
OPEN_EXISTING,
0, 0);
COMMTIMEOUTS ctmoNew = {0}, ctmoOld;
GetCommTimeouts(Handle_Com1,&ctmoOld);
ctmoNew.ReadTotalTimeoutConstant = 10;
ctmoNew.ReadTotalTimeoutMultiplier = 0;
ctmoNew.WriteTotalTimeoutMultiplier = 0;
ctmoNew.WriteTotalTimeoutConstant = 0;
SetCommTimeouts(Handle_Com1, &ctmoNew);
DCB dcbCommPort;
dcbCommPort.DCBlength = sizeof(DCB);
GetCommState(Handle_Com1, &dcbCommPort);
AnsiString ConfigTxt = "9600,N,8,1";
ConfigTxt = Edit2->Text + "," + Edit4->Text + "," + Edit3->Text + "," + Edit5->Text;
BuildCommDCB(ConfigTxt.c_str(), &dcbCommPort);
SetCommState(Handle_Com1, &dcbCommPort);
/*! Balancer un message d'erreur si ouverture du port com impossible sinon afficher image subD en vert*/
if(Handle_Com1 == INVALID_HANDLE_VALUE)
{
MessageBox(0,"Erreur d'ouverture de com port","Impossible d'ouvrir le port COM",0);
Handle_Com1 = NULL;
}
else
{
Image1->Picture->LoadFromFile("src\\SubD9_Green.bmp");
Button6Click(NULL);
}
}
else
{
PurgeComm(this->Handle_Com1, PURGE_RXABORT);
CloseHandle(this->Handle_Com1);
this->Handle_Com1=NULL;
if (this->Thread_COM1 != NULL)
Button6Click(NULL);
Image1->Picture->LoadFromFile("src\\SubD9_Red.bmp");
} |
Partager