AD驱动函数
函数名称:BOOL ADC_Close (DWORD Handle)
功能描述:驱动程序关闭函数
函数参数:DWORD Handle:驱动程序句柄
函数返回值:FALSE: 失败 TRUE: 成功
调用程序:CloseHandle(hFile);
函数名称:DWORD ADC_Open (
DWORD dwData,
DWORD dwAccess,
DWORD dwShareMode
)
功能描述:打开驱动程序
函数参数:DWORD dwData : 设备驱动程序句柄
DWORD dwAccess : 访问请求代码,是读和写的组合
DWORD dwShareMode: 共享模式
函数返回值:驱动程序引用事例句柄
调用程序:
CreateFile(TEXT("ADC1:"), GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
函数名称:BOOL ADC_IOControl(
DWORD Handle,
DWORD dwIoControlCode,
PBYTE pInBuf,
DWORD nInBufSize,
PBYTE pOutBuf,
DWORD nOutBufSize,
PDWORD pBytesReturned
)
功能描述:驱动程序 I/O 请求
函数参数:Handle:设备驱动的句柄
dwIoControlCode:操作码 设备指定的WORD型标识,用于描述这个IOControl操作的定义,该值定义:
//设置ADC转换通道
#define IOCTL_SET_ADC_CHANNEL 0x01
//设置 ADC 转换频率(Hz)
#define IOCTL_SET_ADC_FREQUENCY 0x02
//取得 ADC 当前转换频率(Hz)
#define IOCTL_GET_ADC_CURFREQ 0x03
//取得 ADC 最高转换频率(Hz)
#define IOCTL_SET_ADC_MAXFREQ 0x04
//取得 ADC 最低转换频率(Hz)
#define IOCTL_SET_ADC_MINFREQ 0x05
pInBuf:输入Buffer 缓冲区指针,指向需要传给驱动程序使用的数据
nInBufSize:输入Buffer的size 要传给驱动程序使用的数据长度
nInBufSize >0 取值为1
pOutBuf:用于返回转化频率值,数据类型为DWORD
nOutBufSize:输出Buffer的size 要传送给应用程序使用的数据长度
pBytesReturned:实际处理数据长度
函数返回值:TRUE: 成功 FALSE: 失败
调用程序:
// 设置当前转换通道2
BYTE channel = 2;//通道数
::DeviceIoControl(hFile, IOCTL_SET_ADC_CHANNEL, &channel, 1, NULL, 0, NULL, NULL);
函数名称:DWORD ADC_Read(DWORD Handle, LPVOID pBuffer, DWORD dwNumBytes)
功能描述:读取当前通道的 ADC 转换值
函数参数:DWORD Handle : 驱动程序引用事例句柄
LPVOID pBuffer : 接收缓冲区
DWORD dwNumBytes: 要读的字节数
函数返回值:实际读到字节数
调用程序:
::ReadFile(hFile,dwRBUF,1,&actlen,NULL);
/------------------------------------------------------------------------------
作者:宇帆 cfanlwn
时间:2009-12-06 21:06:46