Bonjour,
Je développe une application me permettant de piloter un outil avec labwindows CVI 8.5. J'utilise une interface utilisateur et une boucle while pour envoyer mes infos en cycle à mon matériel. Le problème est que une fois mon programme lancée (après avoir cliquer sur ok dans mon interface utilisateur) je n'ai plus la main sur mon programme et je suis obligé d' effectué une fin de tache pour l'arreter. J'ai essayé plusieurs solution mais en vain (boucle if qui test l'état d'une commande....). Quelqu'un aurai t'il une solution pour résoudre ce problème? Je vous remercie.
Voici mon bout de code qui pose problème:
int CVICALLBACK OkCallback (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
Parity=2;
StopBit=2;
Count=0;
SetCtrlAttribute (panelHandle, PANEL_LED, ATTR_ON_COLOR, VAL_GREEN);
OpenComConfig (COM, "", Baudrate, Parity, 8, StopBit, 512, 512); // open RS232 port
ComWrt(COM, "MODE:CURR\n" ,11);
Delay(1);
ComWrt(COM, "INP ON\n" ,8);
Delay(1);
while(1) // Boucle de commande de mon outil
{
Fmt(Buffer,"%s<%s%f%s","CURR ",Pal1,"\n");
ComWrt(COM,Buffer,256); //write in the buffer
Delay(Timef1);
Fmt(Buffer,"%s<%s%f%s","CURR ",Pal2,"\n");
ComWrt(COM,Buffer,256); //write in the buffer
Delay(Timef2);
Count++;
SetCtrlVal (panelHandle, PANEL_NUMERIC_Nbr_Pal, &Count);
/* GetUserEvent (1, &panelHandle, &event);
switch(event)
{
case EVENT_COMMIT:
break;
}*/
}
break;
}