📄 ads1240.h
字号:
// P5.0
//#define ADS1240_CS 0x01
// P5.1
#define ADS1240_DIN 0x02
// P5.2
#define ADS1240_DOUT 0x04
// P5.3
#define ADS1240_SCLK 0x08
// P4.7
//#define ADS1240_PDWN 0x80
// P4.6
//#define ADS1240_DSYNC 0x40
// P6.4
#define ADS1240_RESET 0x10
// P4.4
//#define ADS1240_POL 0x10
// P1.0
#define ADS1240_DRDY 0x01
// P4.2
//#define ADS1240_BUFEN 0x04
#define ADS1240_NO_ERROR 0
#define ADS1240_TIMEOUT_WARNING -10
// define commands (see page 18 in the data sheet
#define ADS1240_CMD_RDATA 0x01
#define ADS1240_CMD_RDATAC 0x03
#define ADS1240_CMD_STOPC 0x0f
#define ADS1240_CMD_RREG 0x10
#define ADS1240_CMD_WREG 0x50
#define ADS1240_CMD_SELFCAL 0xf0
#define ADS1240_CMD_SELFOCAL 0xf1
#define ADS1240_CMD_SELFGCAL 0xf2
#define ADS1240_CMD_SYSOCAL 0xf3
#define ADS1240_CMD_SYSGCAL 0xf4
#define ADS1240_CMD_WAKEUP 0xfb
#define ADS1240_CMD_DSYNC 0xfc
#define ADS1240_CMD_SLEEP 0xfd
#define ADS1240_CMD_RESET 0xfe
// define the ADS1240 register values
#define ADS1240_SETUP_REGISTER 0x00
#define ADS1240_MUX_REGISTER 0x01
#define ADS1240_ACR_REGISTER 0x02
#define ADS1240_ODAC_REGISTER 0x03
#define ADS1240_DIO_REGISTER 0x04
#define ADS1240_DIR_REGISTER 0x05
#define ADS1240_IOCON_REGISTER 0x06
#define ADS1240_OCR0_REGISTER 0x07
#define ADS1240_OCR1_REGISTER 0x08
#define ADS1240_OCR2_REGISTER 0x09
#define ADS1240_FSR0_REGISTER 0x0a
#define ADS1240_FSR1_REGISTER 0x0b
#define ADS1240_FSR2_REGISTER 0x0c
#define ADS1240_DOR0_REGISTER 0x0d
#define ADS1240_DOR1_REGISTER 0x0e
#define ADS1240_DOR2_REGISTER 0x0f
// define multiplexer codes
#define ADS1240_MUXP_AIN0 0x00
#define ADS1240_MUXP_AIN1 0x10
#define ADS1240_MUXP_AIN2 0x20
#define ADS1240_MUXP_AIN3 0x30
/*#define ADS1240_MUXP_AIN4 0x40
#define ADS1240_MUXP_AIN5 0x50
#define ADS1240_MUXP_AIN6 0x60
#define ADS1240_MUXP_AIN7 0x70*/
#define ADS1240_MUXP_AINCOM 0x80
#define ADS1240_MUXN_AIN0 0x00
#define ADS1240_MUXN_AIN1 0x01
#define ADS1240_MUXN_AIN2 0x02
#define ADS1240_MUXN_AIN3 0x03
/*#define ADS1240_MUXN_AIN4 0x04
#define ADS1240_MUXN_AIN5 0x05
#define ADS1240_MUXN_AIN6 0x06
#define ADS1240_MUXN_AIN7 0x07*/
#define ADS1240_MUXN_AINCOM 0x08
// define gain codes
#define ADS1240_GAIN_1 0x00
#define ADS1240_GAIN_2 0x01
#define ADS1240_GAIN_4 0x02
#define ADS1240_GAIN_8 0x03
#define ADS1240_GAIN_16 0x04
#define ADS1240_GAIN_32 0x05
#define ADS1240_GAIN_64 0x06
#define ADS1240_GAIN_128 0x07
// define ACR register bits
#define N_DRDY_BIT 0x80
#define U_N_B_BIT 0x40
#define SPEED_BIT 0x20
#define BUFEN_BIT 0x10
#define BIT_ORDER_BIT 0x08
#define RANGE_BIT 0x04
#define DR_1_BIT 0x02
#define DR_0_BIT 0x01
// low level functions
int ADS1240Init(void);
int ADS1240WaitForDataReady(int Timeout);
void ADS1240AssertCS(int fAssert);
void ADS1240SendByte(unsigned char Byte);
unsigned char ADS1240ReceiveByte();
// higher level functions
long ADS1240ReadData(int fWaitForDataReady);
int ADS1240ReadRegister(int StartAddress, int NumRegs, unsigned char* pData);
int ADS1240WriteRegister(int StartAddress, int NumRegs, unsigned char* pData);
int ADS1240SendResetCommand(void);
//
int ADS1240SetChannel(unsigned char MuxCode);
int ADS1240SetGain(int GainCode);
void writetoreg(unsigned char ad_reg);
//void adc_init(void);
unsigned char Open_AD_Power(void);
void Close_AD_Power(void);
void En_AD_DRDY_INT(void);
void Dis_AD_DRDY_INT(void);
void Wake_Up_AD(void);
void Shut_Down_AD(void);
void adc_init(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -