Сделайте int32 CVICALLBACK DoneCallback () доступным для класса

Это вопрос реализации c функция в c++ среда.

Национальные инструменты разработали NIDAQmx.h заголовочный файл с функциями в c, Я успешно использовал их функции в c++ класс для управления устройством сбора данных (cDAQ-9174). Но одной из функций, которые они предоставляют, является функция обратного вызова, которая вызывается событием на устройстве.

Вот функция в c что я хотел бы реализовать в c++


int32 CVICALLBACK DoneCallback(TaskHandle taskHandle, int32 status, void *callbackData){
int32   error=0;
char    errBuff[2048]={'\0'};

// Check to see if an error stopped the task.
DAQmxErrChk (status);

Error:
if( DAQmxFailed(error) ) {
DAQmxGetExtendedErrorInfo(errBuff,2048);
DAQmxClearTask(taskHandle);
printf("DAQmx Error: %s\n",errBuff);
}
return 0;
}

Обработчик событий регистрируется на устройстве с помощью функции:

DAQmxRegisterDoneEvent(taskHandle,0,DoneCallback,NULL);

Мой вопрос: Как реализовать функцию-член класса, которая может быть вызвана этим событием? Я представляю функцию или аналогичный способ, но я не знаю достаточно c а также c++ чтобы понять это.

Было бы важно реализовать эту функцию, чтобы мой класс знал, когда задача сбора завершена, и освободил устройство для использования другим экземпляром.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]