Création d'une interface graphique pour NI6009 avec GTK
horus
-
horus -
horus -
Bonjour,
Je doit créer une interface graphique pour NI6009 j'ai donc utilisé GTK le problème c'est que je bloque en utilisant un printf il m'affiche bien /dev15 par exemple mais une fois de retour dans ma fonction il m'affiche 2681407 je ne comprend pas vraiment voici mon programme:
Merci d'avance de votre aide... je suis perdu la
Je doit créer une interface graphique pour NI6009 j'ai donc utilisé GTK le problème c'est que je bloque en utilisant un printf il m'affiche bien /dev15 par exemple mais une fois de retour dans ma fonction il m'affiche 2681407 je ne comprend pas vraiment voici mon programme:
int verif; int channel; /******************************************************************** Initialisation des ports USB entrees : Rien sortie : Sortie avec succes ********************************************************************/ int InititialisationUSB(){ int i; char tempstr[15], NIdevice1[10], NIchannel[15]; int32 NIerror = 0; int32 digital_data; int present_devices[max_devices]; // Paramètres des fonctions NiDAQ int32 samplesdone; for (i=1;i<max_devices+1;i++) { strcpy(NIdevice1, "/DEV"); itoa( i,tempstr,10); strcat(NIdevice1, tempstr); printf("%s%s","Module: ", NIdevice1); NIerror = DAQmxCreateTask ("", &taskHandle); strcpy(NIchannel,NIdevice1); strcat(NIchannel,"/port0:1"); NIerror += DAQmxCreateDOChan(taskHandle,NIchannel,"",DAQmx_Val_ChanForAllLines); NIerror+=DAQmxStartTask(taskHandle); digital_data= 4095; NIerror+=DAQmxWriteDigitalU32(taskHandle,1,1,10.0,DAQmx_Val_GroupByChannel,&digital_data,&samplesdone,NULL); NIerror+=DAQmxStopTask(taskHandle); NIerror += DAQmxClearTask (taskHandle); printf("%s%d\n"," ErrorNI: ", NIerror); if(NIerror==-601175){ channel=NIdevice1; printf("channel : %s",channel); } present_devices[i]=NIerror; } verif=1; i = 1; while ((i<=max_devices)&&(present_devices[i]!=0)){i++; } if (i==max_devices+1){ strcpy(NIdevice, ""); printf("Error ADUSB1: No NI device present!"); return 0; } strcpy(NIdevice1, "/DEV"); itoa( i,tempstr,10); strcat(NIdevice1, tempstr); if ((strcmp(NIdevice,NIdevice1)==0)&&(Init==1)){ printf("Module ADUSB: Initialisation deja faite!"); return 1; } else { strcpy(NIdevice, NIdevice1); DAQmxGetDevProductType(NIdevice, tempstr, 15); printf("Initialisation ADUSB reussie sur module %s\n" , NIdevice); return 1; } } static void information (GtkWidget *wid, GtkWidget *win) // pour afficher le port à utiliser { GtkWidget *dialog = NULL; /* Initialisation */ InititialisationUSB(); printf("\n\n\n les valeurs recu: %d et %d",verif,channel); int i, Retour; char NIerrBuff[2048]; int32 NIerror = 0; // float64 analog_data_list[8]; float64 Valeur_Analogique[2]; /* Sorties logiques sur le port 0 et le port1 valeur simple LSB/MSB*/ if (Init != 0){ for( i=0;i<=0xFF;i++){ Retour=SortieLogique(i); sleep(10); // 98 donne 100ms et 7.88 donne 10ms } } else { printf("\n Erreur ADUSB5: Initialisation module non faite!"); } printf("%d",channel); dialog = gtk_message_dialog_new (GTK_WINDOW (win), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "%d",channel); gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); }
Merci d'avance de votre aide... je suis perdu la
A voir également:
- Création d'une interface graphique pour NI6009 avec GTK
- Changer carte graphique - Guide
- Creation compte gmail - Guide
- Création site web - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Création compte google - Guide