不好意思,上篇忘记贴上头文件了,附在这里好了
tmp432.c文件请看这里:https://blog.csdn.net/lilijianqun/article/details/80468875
#ifndef __tmp432_H
#define __tmp432_H
#include "stm32f10x.h"
#define I2C_SCL GPIO_Pin_6 //PB10
#define I2C_SDA GPIO_Pin_7 //PB11
#define GPIO_I2C GPIOB
#define I2C_SCL_H GPIO_SetBits(GPIO_I2C,I2C_SCL)
#define I2C_SCL_L GPIO_ResetBits(GPIO_I2C,I2C_SCL)
#define I2C_SDA_H GPIO_SetBits(GPIO_I2C,I2C_SDA)
#define I2C_SDA_L GPIO_ResetBits(GPIO_I2C,I2C_SDA)
//寄存器地址
#define TMP432_STATUS 0x02
#define TMP432_CONFIG1_READ 0x03
#define TMP432_CONFIG1_WRITE 0x09
#define TMP431_CONFIG2_READ 0x1A
#define TMP431_CONFIG2_WRITE 0x1A
#define TMP432_CONFIG2_READ 0x3F
#define TMP432_CONFIG2_WRITE 0x3F
#define TMP432_CONVERSION_RATE_READ 0x04
#define TMP432_CONVERSION_RATE_WRITE 0x0A
#define TMP432_TEMP_CRIT_HYST 0x21
#define TMP432_MANUFACTURER_ID_REG 0xFD
#define TMP432_DEVICE_ID_REG 0xFE
//寄存器值
#define TMP431_DEVICE_ID 0x31
#define TMP432_DEVICE_ID 0x32
#define TMP401_MANUFACTURER_ID 0x55
#define TMP431_CONFIG1_VALUE 0x00
#define TMP432_CONFIG1_VALUE 0x00
#define TMP431_CONFIG2_VALUE 0x1C
#define TMP432_CONFIG2_VALUE 0x3C
#define TMP431_CONVERSION_RATE_VALUE 0x07
#define TMP432_CONVERSION_RATE_VALUE 0x07
#define TMP431_TEMP_CRIT_HYST_VALUE 0x0A
#define TMP432_TEMP_CRIT_HYST_VALUE 0x0A
#define TMP432_TEMP_L_PARAMTER 0.0625 //0.0625
#define TMP431_DEVICE
/*/////////////
*读取状态寄存器地址
*
*
*//////////
extern void I2C_INIT(void);
void TMP432_GetTemp(void);
void TMP432_WriteByte(u8 TMPAdderss,u8 RegMap,u8 data);
u8 TMP432_ReadByte(u8 TMPAddress,u8 RegMap);
void TMP432Init(void);
#endif