ad7799.h

来自「AD7799的驱动程序片断」· C头文件 代码 · 共 84 行

H
84
字号
#ifndef __AD7799_H__
#define __AD7799_H__

#define PARA_250KG		763L//953L
#define PARA_200KG		610L//763L
#define PARA_60KG		458L//572L

//寄存器地址
#define	ADREG_COMM		0x00
#define	ADREG_STATUS	0x00
#define	ADREG_MODE		0x08
#define	ADREG_CONFIG	0x10
#define	ADREG_DATA		0x18
#define	ADREG_ID		0x20
#define	ADREG_IO		0x28
#define	ADREG_OFFSET	0x30
#define	ADREG_FULLSCALE	0x38

//操作码
#define	COMM_MASK		0x7C
#define	COMM_SINGLEWR	0x00
#define	COMM_SINGLERD	0x40
#define	COMM_CONTRD		0x04
#define	COMM_STOPCONT	0x00

//寄存器位掩码
//状态寄存器位定义
#define	BIT_STATUS_RDY		0x80
#define	BIT_STATUS_STDY		0x40
#define	BIT_STATUS_STBY		0x20
#define	BIT_STATUS_NOREF	0x10

//模式寄存器位定义
#define	BIT_MODE_CONTCONV	0x0000
#define	BIT_MODE_SINGCONV	0x2000
#define	BIT_MODE_IDLE		0x4000
#define	BIT_MODE_POWERDOWN	0x6000
#define	BIT_MODE_INTZERO	0x8000
#define	BIT_MODE_INTFULL	0xA000
#define	BIT_MODE_SYSZERO	0xC000
#define	BIT_MODE_SYSFULL	0xE000

#define	BIT_MODE_PSW		0x1000



void AD7799_Reset(unsigned char bDev);
void AD7799_WrBytes(unsigned char bDev,unsigned char bBytes,unsigned char *pData);
void AD7799_RdBytes(unsigned char bDev,unsigned char bBytes,unsigned char *pData);
unsigned char SingleRead8BitsReg(unsigned char bDev,unsigned char bAdr);
unsigned int SingleRead16BitsReg(unsigned char bDev,unsigned char bAdr);

unsigned char AD_ReadIdReg(unsigned char bDev);

unsigned long AD_ReadOffsetReg(unsigned char bDev);
void AD_WriteOffsetReg(unsigned char bDev,unsigned long lData);

unsigned long AD_ReadFullScaleReg(unsigned char bDev);
void AD_WriteFullScaleReg(unsigned char bDev,unsigned long lData);

unsigned long InternalZeroCalibration(unsigned char bDev,unsigned char bTimes);
unsigned long InternalFullCalibration(unsigned char bDev,unsigned char bTimes);

//=====================
void Init_AD(unsigned char bDev);
unsigned char AD_ReadStatusReg(unsigned char bDev);

void AD_WriteModeReg(unsigned char bDev,unsigned int uData);
unsigned int AD_ReadModeReg(unsigned char bDev);

void AD_WriteConfigReg(unsigned char bDev,unsigned int uData);
unsigned int AD_ReadConfigReg(unsigned char bDev);

void AD_WriteIoReg(unsigned char bDev,unsigned char bData);
unsigned char AD_ReadIoReg(unsigned char bDev);

unsigned long AD_ReadDataReg(unsigned char bDev);
unsigned long ExeZeroCalibration(unsigned char bCh);
unsigned long ExeFullScaleCalibration(unsigned char bCh,unsigned long ulWeight);

unsigned char SetFullScale(unsigned char bCh,unsigned long ulDat);
unsigned char GetBalanceStatus(unsigned char bCh);

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?