📄 ads1240.h
字号:
#ifndef __ADS1240_H
#define __ADS1240_H
// P3.7
#define ADS1240_DSYNC 0x80
// P3.6
#define ADS1240_PDWN 0x40
// P3.3
#define ADS1240_SCLK 0x08
// P3.5
#define ADS1240_CS 0x20
// GPIO2 (P0) on the port expander
#define CLK_KICK_START_EN 0x01
// GPIO3 (P1) on the port expander
#define ADS1240_BUFEN 0x02
// P3.1
#define ADS1240_DIN 0x02
// P3.2
#define ADS1240_DOUT 0x04
// GPIO2 (P2) on the port extender
#define ADS1240_POL 0x04
// P2.2
#define ADS1240_DRDY 0x04
// GPIO5 (P3) on the port extender
#define ADS1240_RESET 0x08
#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 ADS1240ReceiveByte();
// higher level functions
long ADS1240ReadData(int fWaitForDataReady);
int ADS1240ReadRegister(int StartAddress, int NumRegs, unsigned * pData);
int ADS1240WriteRegister(int StartAddress, int NumRegs, unsigned * pData);
int ADS1240SendResetCommand(void);
//
int ADS1240SetChannel(int MuxCode);
int ADS1240SetGain(int GainCode);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -