You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.6 KiB

1 year ago
#ifndef _MAX30102_H
#define _MAX30102_H
#include "msp_iicMx.h"/////使用iic1 作为
#include "c_type51.h"/////
#define MAX30102_Device_address 0xAE
//register addresses
#define REG_INTR_STATUS_1 0x00
#define REG_INTR_STATUS_2 0x01
#define REG_INTR_ENABLE_1 0x02
#define REG_INTR_ENABLE_2 0x03
#define REG_FIFO_WR_PTR 0x04
#define REG_OVF_COUNTER 0x05
#define REG_FIFO_RD_PTR 0x06
#define REG_FIFO_DATA 0x07
#define REG_FIFO_CONFIG 0x08
#define REG_MODE_CONFIG 0x09
#define REG_SPO2_CONFIG 0x0A
#define REG_LED1_PA 0x0C
#define REG_LED2_PA 0x0D
#define REG_PILOT_PA 0x10
#define REG_MULTI_LED_CTRL1 0x11
#define REG_MULTI_LED_CTRL2 0x12
#define REG_TEMP_INTR 0x1F
#define REG_TEMP_FRAC 0x20
#define REG_TEMP_CONFIG 0x21
#define REG_PROX_INT_THRESH 0x30
#define REG_REV_ID 0xFE
#define REG_PART_ID 0xFF
#define SAMPLES_PER_SECOND 100 //����Ƶ��
uint8 Max30102_reset(void);
void MAX30102_Config(void);
void max30102_read_fifo(void);
typedef struct
{
u8 d[6];
u16 u16_xy;
uint32 fifo_red;
uint32 fifo_ir;
/// u32 u32a;
u16 u16b;
u16 u16t;
u16 u16out_c;///参考数值 fifo的2和5
}TS_max30102_;
extern TS_max30102_ ts_max30102;
#define L1_max30102_WB(reg,dat) L2_IICMx_WriteCmd(D_iicch_max13102,MAX30102_Device_address,reg,dat)
#define IIC_Read_Byte(adr,reg) L2_IICMx_Read1Reg1D(D_iicch_max13102,adr,reg)
#define L1_max30102_Read(adr,reg) L2_IICMx_Read1Reg1D(D_iicch_max13102,MAX30102_Device_address,reg)
#define L1_max30102_Read_Array(reg,dat,n) L2_IICMx_ReadReg(D_iicch_max13102,MAX30102_Device_address,reg,dat,n)
#endif