?? usb2080.h
字號:
#include<windows.h>
//***********************************************************
// 用于AD采集的參數結構
#ifndef _USB2080_PARA_AD
typedef struct _USB2080_PARA_AD // 板卡各參數值
{
LONG ADMode; // AD采集方式(分組或分頻)
LONG ReadSizeWords; // 讀取長度
LONG FirstChannel; // 首通道
LONG LastChannel; // 末通道
LONG Frequency; // AD采集頻率(Hz)
LONG GroupInterval; // 分組采樣時,相鄰組的時間間隔(uS)
LONG Gains; // 采集增益
LONG TriggerMode; // 觸發模式(軟件觸發和硬件后觸發)
LONG TriggerType; // 觸發類型(電平觸發/邊沿觸發)
LONG TriggerDir; // 觸發方向(正向/負向觸發選擇)
} USB2080_PARA_AD, *PUSB2080_PARA_AD;
#endif
//***********************************************************
// AD參數(USB2080_PARA_AD)中的ADMode使用的采集方式選項
const long USB2080_ADMODE_SEQUENCE = 0x00; // 連續采集
const long USB2080_ADMODE_GROUP = 0x01; // 分組采集
//***********************************************************
// AD參數USB2080_PARA_AD中的Gains使用的硬件增益選項
const long USB2080_GAINS_1MULT = 0x00; // 1倍增益(使用PGA202或PGA203放大器)
const long USB2080_GAINS_10MULT = 0x01; // 10倍增益(使用PGA202放大器)
const long USB2080_GAINS_100MULT = 0x02; // 100倍增益(使用PGA202放大器)
const long USB2080_GAINS_1000MULT = 0x03; // 1000倍增益(使用PGA202放大器)
const long USB2080_GAINS_2MULT = 0x01; // 2倍增益(使用PGA203放大器)
const long USB2080_GAINS_4MULT = 0x02; // 4倍增益(使用PGA203放大器)
const long USB2080_GAINS_8MULT = 0x03; // 8倍增益(使用PGA203放大器)
//***********************************************************
// AD硬件參數USB2080_PARA_AD中的TriggerMode成員變量所使用AD啟動觸發模式選項
const long USB2080_TRIGMODE_SOFT = 0x00; // 軟件觸發
const long USB2080_TRIGMODE_POST = 0x01; // 硬件后觸發
// AD硬件參數USB2080_PARA_AD中的TriggerType成員變量所使用的電平和邊沿觸發選項
const long USB2080_TRIGTYPE_EDGE = 0x00; // 邊沿觸發
const long USB2080_TRIGTYPE_PULSE = 0x01; // 脈沖觸發(電平)
//***********************************************************
// AD硬件參數USB2080_PARA_AD中的TriggerDir成員變量所使用的觸發方向選項
const long USB2080_TRIGDIR_NEGATIVE = 0x00; // 負向觸發(低電平/下降沿觸發)
const long USB2080_TRIGDIR_POSITIVE = 0x01; // 正向觸發(高電平/上升沿觸發)
const long USB2080_TRIGDIR_POSIT_NEGAT = 0x02; // 正負向觸發(高/低電平或上升/下降沿觸發)
//***********************************************************
// 用于開關量輸出的參數結構
#ifndef _USB2080_PARA_DO
typedef struct _USB2080_PARA_DO // 數字量輸出參數
{
BYTE DO0; // 0通道
BYTE DO1; // 1通道
BYTE DO2; // 2通道
BYTE DO3; // 3通道
BYTE DO4; // 4通道
BYTE DO5; // 5通道
BYTE DO6; // 6通道
BYTE DO7; // 7通道
} USB2080_PARA_DO, *PUSB2080_PARA_DO;
#endif
//***********************************************************
// 用于開關量輸入的參數結構
#ifndef _USB2080_PARA_DI
typedef struct _USB2080_PARA_DI // 數字量輸入參數
{
BYTE DI0; // 0通道
BYTE DI1; // 1通道
BYTE DI2; // 2通道
BYTE DI3; // 3通道
BYTE DI4; // 4通道
BYTE DI5; // 5通道
BYTE DI6; // 6通道
BYTE DI7; // 7通道
} USB2080_PARA_DI, *PUSB2080_PARA_DI;
#endif
//***********************************************************
// CreateFileObject中的Mode參數使用的文件操作方式控制字(可通過或指令實現多種方式并操作)
const long USB2080_modeRead = 0x0000; // 只讀文件方式
const long USB2080_modeWrite = 0x0001; // 只寫文件方式
const long USB2080_modeReadWrite = 0x0002; // 既讀又寫文件方式
const long USB2080_modeCreate = 0x1000; // 如果文件不存可以創建該文件,如果存在,則重建此文件,并清0
//***********************************************************
// 驅動函數接口
#ifndef USB2080
#define DEVAPI __declspec(dllimport)
#else
#define DEVAPI __declspec(dllexport)
#endif
#ifdef __cplusplus
extern "C" {
#endif
//######################## 常規通用函數 #################################
// 適用于本設備的最基本操作
HANDLE DEVAPI FAR PASCAL USB2080_CreateDevice(int DeviceLgcID = 0);
HANDLE DEVAPI FAR PASCAL USB2080_CreateDeviceEx(int DevicePhysID = 0); // 創建設備對象(使用設備的物理ID, 由跳線器JP1實現)
int DEVAPI FAR PASCAL USB2080_GetDeviceCount(HANDLE hDevice);
int DEVAPI FAR PASCAL USB2080_GetDeviceCurrentID(HANDLE hDevice);
BOOL DEVAPI FAR PASCAL USB2080_ListDeviceDlg(void); // 用對話框列表系統當中的所有USB2810設備
BOOL DEVAPI FAR PASCAL USB2080_ResetDevice(HANDLE hDevice); // 復位整個USB設備
BOOL DEVAPI FAR PASCAL USB2080_ReleaseDevice(HANDLE hDevice); // 設備句柄
//####################### AD數據讀取函數 #################################
BOOL DEVAPI FAR PASCAL USB2080_InitDeviceAD( // 初始化設備,當返回TRUE后,設備即刻開始傳輸.
HANDLE hDevice, // 設備句柄
PUSB2080_PARA_AD pADPara); // 硬件參數, 它僅在此函數中決定硬件狀態
BOOL DEVAPI FAR PASCAL USB2080_GetDeviceStatusAD( HANDLE hDevice, // 設備句柄
PBOOL bTriggerFlag, // 觸發標志
PBOOL bConverting, // 轉換標志
PBOOL bOverflow); // 溢出標志
BOOL DEVAPI FAR PASCAL USB2080_ReadDeviceAD( // 初始化設備后,即可用此函數讀取設備上的AD數據
HANDLE hDevice, // 設備句柄
PSHORT pADBuffer, // 將用于接受數據的用戶緩沖區
LONG nReadSizeWords, // 讀取AD數據的長度
PLONG nRetSizeWords); // 返回實際讀取的AD數據
BOOL DEVAPI FAR PASCAL USB2080_ReleaseDeviceAD( HANDLE hDevice); // 停止AD采集,釋放AD對象所占資源
//################# AD的硬件參數操作函數 ########################
BOOL DEVAPI FAR PASCAL USB2080_SaveParaAD(HANDLE hDevice, PUSB2080_PARA_AD pADPara);
BOOL DEVAPI FAR PASCAL USB2080_LoadParaAD(HANDLE hDevice, PUSB2080_PARA_AD pADPara);
//####################### 數字I/O輸入輸出函數 #################################
BOOL DEVAPI FAR PASCAL USB2080_SetDeviceDO( // 輸出開關量狀態
HANDLE hDevice, // 設備句柄
PUSB2080_PARA_DO pDOPara); // 開關狀態
BOOL DEVAPI FAR PASCAL USB2080_GetDeviceDI( // 取得開關量狀態
HANDLE hDevice, // 設備句柄
PUSB2080_PARA_DI pDIPara); // 開關狀態
//########################## 文件操作函數 ####################################
HANDLE DEVAPI FAR PASCAL USB2080_CreateFileObject( // 初始文件系統
HANDLE hDevice, // 設備對象
LPCTSTR strFileName, // 新文件名
int Mode); // 文件操作方式
BOOL DEVAPI FAR PASCAL USB2080_WriteFile( // 保存用戶空間中數據
HANDLE hFileObject, // 設備對象
PVOID pDataBuffer, // 用戶數據空間地址
ULONG nWriteSizeBytes); // 緩沖區大小(字節)
BOOL DEVAPI FAR PASCAL USB2080_ReadFile( // 讀數據
HANDLE hFileObject, // 設備對象
PVOID pDataBuffer, // 接受文件數據的用戶內存緩沖區
ULONG OffsetBytes, // 從文件前端開始的偏移位置
ULONG nReadSizeBytes); // 從偏移位置開始讀的字節數
BOOL DEVAPI FAR PASCAL USB2080_SetFileOffset( // 設置文件偏移指針
HANDLE hFileObject, // 文件對象
ULONG nOffsetBytes); // 文件偏移位置(以字為單位)
ULONG DEVAPI FAR PASCAL USB2080_GetFileLength(HANDLE hFileObject); // 取得指定文件長度(字節)
BOOL DEVAPI FAR PASCAL USB2080_ReleaseFile(HANDLE hFileObject);
LONGLONG DEVAPI FAR PASCAL USB2080_GetDiskFreeBytes( // 獲得指定盤符的磁盤空間(注意使用64位變量)
LPCTSTR strDiskName); // 盤符名,如C盤為"C:\\", D盤為"D:\\"
//############################ 線程操作函數 ################################
HANDLE DEVAPI FAR PASCAL USB2080_CreateSystemEvent(void); // 創建內核系統事件對象
BOOL DEVAPI FAR PASCAL USB2080_ReleaseSystemEvent(HANDLE hEvent); // 釋放內核事件對象
BOOL DEVAPI FAR PASCAL USB2080_CreateVBThread(HANDLE *hThread, LPTHREAD_START_ROUTINE StartThread);
BOOL DEVAPI FAR PASCAL USB2080_TerminateVBThread(HANDLE hThreadHandle);
//################# 其他附加函數 ########################
BOOL DEVAPI FAR PASCAL USB2080_EnableShowMessage(BOOL bShowMessage=FALSE); // 是否讓驅動程序自動彈出錯誤信息提示對話框
#ifdef __cplusplus
}
#endif
// 自動包含驅動函數導入庫
#ifndef USB2080
#pragma comment(lib, "USB2080.lib")
#pragma message("======== Welcome to use our art company products!")
#pragma message("======== Automatically linking with USB2080.lib...")
#pragma message("======== Successfully linked with USB2080.dll")
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -