数控直流恒流源
源代码在线查看: adc.h
#ifndef _ADC_H_
#define _ADC_H_
//数据时钟、采集与读取数据模式
#define EXDCLK_RDPRE 3 //外部非连续时钟,读取上一次转换数据且无同步信号模式
#define EXDCLK_RDNOW 2 //外部非连续时钟,读取当前次转换数据且无同步信号模式
#define EXDCLK_RDPRE_SYN 1 //外部非连续时钟,读取上一次转换数据且有同步信号模式
#define EXDCLK_RDNOW_SYN 0 //外部非连续时钟,读取当前次转换数据且有同步信号模式
//掉电模式
#define PWOP 0 //正常工作
#define PWDO 1 //掉电模式
//二进制格式
#define BTC 0 //二进制补码形式
#define SBIN 1 //普通二进制
//函数功能:置/复位PWRD信号
//说明:x:1 —— 置位(掉电模式);0 —— 复位(正常工作)
#define ADCSetPWRD(x) (ADCPWRD = (x) ? 1 : 0)
//函数功能:置/复位RC信号
//说明:x:1 —— 置位;0 —— 复位
#define ADCSetRC(x) (ADCRC = (x) ? 1 : 0)
//函数功能:置/复位SCLK信号
//说明:x:1 —— 置位;0 —— 复位
#define ADCSetSCLK(x) (ADCSCLK = (x) ? 1 : 0)
//函数功能:置/复位SBTC信号
//说明:x:1 —— 置位(标准/普通二进制);0 —— 复位(二进制补码格式)
#define ADCSetSBTC(x) (ADCSBTC = (x) ? 1 : 0)
//函数功能:置/复位EXINT信号
//说明:x:1 —— 置位;0 —— 复
#define ADCSetEXINT(x) (ADCEXINT = (x) ? 1 : 0)
//函数功能:从SPI总线读2字节(16bits)数据
//说明:返回16bits的数据
int SPI_Read_Two(void);
//函数功能:外部非连续数据时钟,读取上一次转换数据且无同步信号模式
//说明:返回上一次采集的数据(即第n次采样启动时,将读取第n-1次采样数据)
int EXCLKSample_Pre(void);
//函数功能:外部非连续数据时钟,读取当前次转换数据且无同步信号模式
//说明:返回当前次采集的数据(16bits)
int EXCLKSample_Now(void);
//函数功能:外部非连续数据时钟,读取上一次转换数据且有同步信号模式
//说明:返回上一次采集的数据(即第n次采样启动时,将读取第n-1次采样数据)
int EXCLKSample_Pre_Syn(void);
//函数功能:外部非连续数据时钟,读取当前次转换数据且有同步信号模式
//说明:返回当前次采集的数据(16bits)
int EXCLKSample_Now_Syn(void);
//函数功能:指定方式采样以及读取数据
//说明:smode:数据时钟、读取方式模式;sbtc:输出二进制数据格式;
// 返回采样数据(16bits)
int nSample(INT8U smode, INT8U sbtc);
#endif //_ADC_H_