11-25-2014 02:13 AM
Bonjour,
Nous devons faire une lecture/ecriture d'une carte SCB-68. Nous voulons réaliser cette tâche en continue afin d'écrire directement la valeur de l'entré sur la sortie.
Voila notre programme:
#include <stdio.h>
#include <windows.h>
#include "include/NIDAQmx.h"
int main(){
while(1){
ecriturelecture();
Sleep(1000);
}
return 0;
}
int ecriturelecture(void)
{
TaskHandle taskHandle;
int lecture, ecriture;
int32 read,written;
DAQmxCreateTask("",&taskHandle);
DAQmxCreateDIChan(taskHandle,"Dev1/port1","",DAQmx_Val_ChanForAllLines);
DAQmxStartTask(taskHandle);
DAQmxReadDigitalU32(taskHandle,1,10.0,DAQmx_Val_GroupByChannel,&lecture,1,&read,NULL);
printf("Valeur: %i\n",lecture);
ecriture=lecture;
DAQmxCreateTask("",&taskHandle);
DAQmxCreateDOChan(taskHandle,"Dev1/port0","",DAQmx_Val_ChanForAllLines);
DAQmxStartTask(taskHandle);
DAQmxWriteDigitalU32(taskHandle,1,1,10.0,DAQmx_Val_GroupByChannel,&ecriture,&written,NULL);
return 0;
}
Nous arrivons à lire la première valeur mais ensuite toute les valeurs sont égales à 0.
Comment faire en sorte d'écrire la valeur d'entrée sur la sortie sans devoir relancer le programme ?
Merci d'avance
11-26-2014 02:53 AM
Bonjour,
Je vous suggère de démmarrer votre programme à partir d'un exemple. Depuis Windows :
Démarrer >> Tous les programmes >> National Instruments >> NI-DAQmx >> Support de code textuel >> Exemples
Sur mon PC ils se retrouvent à cette adresse :
C:\Users\Public\Documents\National Instruments\NI-DAQ\Exemples\DAQmx ANSI C
Bien cordialement,