msg_pt100/board/ads1220.h

63 lines
1.4 KiB
C

#ifndef _ADS1220_H_
#define _ADS1220_H_
#include "stm32l4xx_hal.h"
#include "spi.h"
#include "main.h"
#include "timer.h"
#define ADS1220_RESET 0X06
#define ADS1220_START 0X08
#define ADS1220_POWERDOWN 0X02
#define ADS1220_RDATA 0X10
#define ADS1220_RREG 0X20
#define ADS1220_WREG 0X40
#define AIN0_AIN1 0x01
#define AIN0_AIN2 0x11
#define AIN0_AIN3 0x21
#define AIN1_AIN2 0x31
#define AIN1_AIN3 0x41
#define AIN2_AIN3 0x51
#define AIN1_AIN0 0x61
#define AIN3_AIN2 0x71
#define AIN0_AVSS 0x81
#define AIN1_AVSS 0x91
#define AIN2_AVSS 0xA1
#define AIN3_AVSS 0xB1
#define ADS1220_CS_LOW() HAL_GPIO_WritePin(ADS1220_CS_GPIO_Port,ADS1220_CS_Pin,GPIO_PIN_RESET)
#define ADS1220_CS_HIGH() HAL_GPIO_WritePin(ADS1220_CS_GPIO_Port,ADS1220_CS_Pin,GPIO_PIN_SET)
#define ADS1220_DRDY HAL_GPIO_ReadPin(ADS1220_DR_GPIO_Port, ADS1220_DR_Pin)
typedef struct
{
long vol[1024];
long loca[1024];
int cnt;
}Point_Data;
extern Point_Data point_data;
//extern uint32_t V_data; //ÅÅÐòÖмä±äÁ¿
extern long ads1220_data;
extern int test_flag;
extern long maxv;
extern long minv;
extern long maxv_loca;
extern long minv_loca;
extern long max_point_cnt;
extern long min_point_cnt;
void ads1220_init(void);
void ads1220_write(uint8_t dat);
unsigned char ads1220_receivebyte(void);
void ads1220_writeregister(int StartAddress, int NumRegs, uint8_t * pData);
long ads1220_readdata(void);
void get_data(void);
#endif /* ADS1220_H_ */