⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ad7799.h

📁 AD7799的驱动程序片断
💻 H
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -