Ошибка запуска примера NI-DAQmx ANSI C на виртуальной машине Windows 7
Я использую гостевую систему Windows 7 с хостом Ubuntu 14, использую VirtualBox, и столкнулся с проблемой запуска даже самых простых примеров, предоставленных National Instruments, с использованием ANSI C API для NI-DAQmx.
При первом включении устройства DAQ я могу выполнить одно измерение, а после этого при любом другом измерении появится следующее сообщение об ошибке:
Attempted to read samples that are no longer available.
The requested sample was previously available, but has since been overwritten.
Increasing the buffer size, reading the data more frequently, or specifying
a fixed number of samples to read instead of reading all available samples
might correct the problem.
Property: DAQmx_Read_RelativeTo
Corresponding Value: DAQmx_Val_CurrReadPos
Property: DAQmx_Read_Offset
Corresponding Value: 0
Task Name: _unamedTask(0)
Status Code: -200279
Чтобы начать новое измерение, мне нужно перезапустить DAQ-устройство, возможно, чтобы очистить все внутренние буферы, которые переопределяются.
Я заинтересован в проведении базового непрерывного измерения напряжения с использованием функции обратного вызова. (Пример ContAcq_IntClk предоставлен NI)
Точно такая же конфигурация, та же версия NI-DAQmx(9.7.5) и работающая в Visual Studio 2012, без проблем работает на машине под управлением Windows 7 напрямую.
Я подозреваю, что проблема в том, что внутренний буфер каким-то образом испортился из-за соединения с виртуальной машиной, но не могу найти элегантное решение, чтобы исправить это.
Я использую устройство NI USB-6289.
ФИКСИРОВАННЫЙ:
VirtualBox, кажется, имеет проблемы совместимости с устройствами NI USB. Кажется, работает, но это непредсказуемо. VMWare работает намного лучше. Перешел на VMWare Player и теперь работает без нареканий.