基于stm32f103的BMP085气压计的检测
话不多说,直接扔代码,本人亲手测试,可以拿过去直接使用。
复制的时候因为格式问题,注释都变成乱码了,所以全部删掉了。
复制的时候因为格式问题,注释都变成乱码了,所以全部删掉了。
#ifndef __BMP085_H
#define __BMP085_H
#include "sys.h"
#define BMP085_SlaveAddress 0xee
#define OSS 0
#define SDA_IN() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)8<<28;}
#define SDA_OUT() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)3<<28;}
#define IIC_SCL PBout(6)
#define IIC_SDA PBout(7)
#define READ_SDA PBin(7)
void IIC_Init(void);
void IIC_Start(void);
void IIC_Stop(void);
void IIC_Send_Byte(u8 txd);
u8 IIC_Read_Byte(unsigned char ack);
u8 IIC_Wait_Ack(void);
void IIC_Ack(void);
void IIC_NAck(void);
void IIC_Write_One_Byte(u8 daddr,u8 addr,u8 data);
u8 IIC_Read_One_Byte(u8 daddr,u8 addr);
void bmp085Convert(void);
void Init_BMP085(void);
long bmp085ReadPressure(void);
long bmp085ReadTemp(void);
short Multiple_read(u8 ST_Address);
double BMP085_Get_Altitude(long Pressure);
#endif
#in