📄 ad977.h
字号:
#ifndef _AD977_H_
#define _AD977_H_
#define uint unsigned int
#define uchar unsigned char
sbit PinPWRD = P0^0;
sbit PinBUSY = P0^1;
sbit PinRC = P0^2;
sbit PinDATA = P0^3;
sbit PinSCLK = P0^4;
sbit PinSYN = P0^5;
sbit PinSBTC = P0^6;
sbit PinEXINT = P0^7;
//数据时钟、采集与读取数据模式
#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 //普通二进制
//函数功能:短延时
void nNop(uchar x);
// 函数功能:长延时
void LongDelay(uint i);
//函数功能:置/复位PWRD信号
//说明:x:1 —— 置位(掉电模式);0 —— 复位(正常工作)
#define SetPWRD(x) (PinPWRD = (x) ? 1 : 0)
//函数功能:置/复位RC信号
//说明:x:1 —— 置位;0 —— 复位
#define SetRC(x) (PinRC = (x) ? 1 : 0)
//函数功能:置/复位SCLK信号
//说明:x:1 —— 置位;0 —— 复位
#define SetSCLK(x) (PinSCLK = (x) ? 1 : 0)
//函数功能:置/复位SBTC信号
//说明:x:1 —— 置位(标准/普通二进制);0 —— 复位(二进制补码格式)
#define SetSBTC(x) (PinSBTC = (x) ? 1 : 0)
//函数功能:置/复位EXINT信号
//说明:x:1 —— 置位;0 —— 复
#define SetEXINT(x) (PinEXINT = (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(uchar smode, uchar sbtc);
#endif //_AD977_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -