#define OSS 0 // Oversampling Setting (note: code is not set up to use other OSS values)
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned char u8;
typedef unsigned int u16;
short ac1;
short ac2;
short ac3;
unsigned short ac4;
unsigned short ac5;
unsigned short ac6;
short b1;
short b2;
short mb;
short mc;
short md;
u8 ge,shi,bai,qian,wan,shiwan; //显示变量
void DisplayOneChar(u8 X,u8 Y,u8 DData);
void conversion(long temp_data);
void Single_Write(u8 SlaveAddress,u8 REG_Address,u8 REG_data); //单个写入数据
u8 Single_Read(u8 REG_Address); //单个读取内部寄存器数据
void Multiple_Read(u8,u8); //连续的读取内部寄存器数据
//------------------------------------
BMP085_Start(); //起始信号
BMP085_SendByte(BMP085_SlaveAddress); //发送设备地址+写信号
BMP085_SendByte(0xF4); // write register address
BMP085_SendByte(0x2E); // write register data for temp
BMP085_Stop(); //发送停止信号
delay(10); // max time is 4.5ms
return (long) Multiple_read(0xF6);
}
//*************************************************************
long bmp085ReadPressure(void)
{
long pressure = 0;
BMP085_Start(); //起始信号
BMP085_SendByte(BMP085_SlaveAddress); //发送设备地址+写信号
BMP085_SendByte(0xF4); // write register address
BMP085_SendByte(0x34); // write register data for pressure
BMP085_Stop(); //发送停止信号
delay(10); // max time is 4.5ms