안녕하세요
NI USB-6008 로 ANSI C 프로그래밍 환경에서 전압을 측정하고 있는데 다음과 같은 질문이 있습니다.
일정 시간동안 연속된 voltage 값을 읽어야 하는데 간단하게 data 를 내부 버퍼에 한번에 저장한 후에 마지막에 읽는 방식으로는 버퍼의 사이즈를 다 채울동안만 데이터를 누적해서 읽을 수 있는 단점이 있습니다.
그래서 DAQmxRegisterEveryNSamplesEvent 함수로 주기적인 샘플수 마다 한번씩 버퍼를 읽어서 별도로 저장하여 실행시간이 긴 프로그램의 샘플값들을 저장하고 있습니다.
이렇게 DAQmxRegisterEveryNSamplesEvent 함수에서 내부적으로 callback 함수를 등록해서 주기적인 샘플수가 읽힐때마다 그 callback 함수에서 장치 내부에 저장된 데이터 샘플을 읽고 있습니다.
그런데 여기서 callback 함수에서 장치 내부 버퍼에 저장된 샘플들을 읽고 있는 동안 들어오는 volate 샘플들을 장치에서 놓치는게 아닌가 걱정이 됩니다. 검색을 하다보니까 Buffered Operations 이라는것이 있어서 이 기능을 지원하는 장치만으로 해결이 가능한게 아닌가 하는데 혹시 이 기능을 지원하지 않는 현재 사용중인 NI USB-6008 장비로 callback 함수에서 샘플을 읽는 동안 들어오는 voltage 샘플정보를 놓치지 않고 얻어낼수 있는 방법이 있을까요?