增加读取数据的模式。

This commit is contained in:
TAO Cheng
2014-04-30 18:09:38 +08:00
parent 46b61ce1e0
commit 5aec9f2552
9 changed files with 490 additions and 140 deletions
+33 -2
View File
@@ -7,18 +7,49 @@
#endif // _MSC_VER > 1000
#include "PCI8622.h"
#define MAX_AD_CHANNELS 4
#define SEGMENT_COUNT 32
#define HALF_SIZE_WORDS 4096
enum E_ART_PCI8622_CAPTURE_MODE
{
E_ART_PCI8622_CAPTURE_DMA=0,
E_ART_PCI8622_CAPTURE_DMA_SEQ,
E_ART_PCI8622_CAPTURE_DMA_TRIGCLK,
E_ART_PCI8622_CAPTURE_NPT=10,
E_ART_PCI8622_CAPTURE_NPT_SEQ,
E_ART_PCI8622_CAPTURE_NPT_TRIGCLK,
E_ART_PCI8622_CAPTURE_HALF=20,
E_ART_PCI8622_CAPTURE_TOTAL=255
};
//======================================================================================
class CART_PCI8622
{
protected:
HANDLE m_hDevice;
HANDLE m_hDmaEvent;
int m_InputRange;
WORD ADBuffer[SEGMENT_COUNT][HALF_SIZE_WORDS];
ULONG m_SegmentID;
PCI8622_PARA_AD m_ADPara; // Ó²¼þ²ÎÊý
double m_AD_LSB_MAX;
double m_AD_LSB_HALF;
double m_AD_LSB_RANGE;
BOOL m_StopedCapture;
BOOL m_EnStartCapture;
BOOL m_EnGetData;
int m_iCaptureMode;
public:
CART_PCI8622();
~CART_PCI8622();
BOOL Init();
BOOL Exit();
BOOL GetData();
BOOL SetCaptureMode(int _Mode=0);
BOOL StartCaptureData();
BOOL StopCaptureData();
BOOL GetData(double (*_Data)[HALF_SIZE_WORDS],int* _DataNumber);
};
#endif