Code:
#define BMP180                0xEE
#define BMP180_SCO            5

typedef struct bmp180_calc
{
    int AC1;
    int AC2;
    int AC3;
    unsigned int AC4;
    unsigned int AC5;
    unsigned int AC6;
    int B1;
    int B2;
    int MB;
    int MC;
    int MD;
} bmp180_calc_t;


extern char bmp180_get_cal_param(bmp180_calc_t *cal);
extern char bmp180_readBytes(unsigned char *values, char length);
extern char bmp180_readInt(char address, int *value);
extern char bmp180_readUInt(char address, unsigned int *value);
extern char bmp180_readByte(char address, char *value);
extern char bmp180_readUByte(char address, unsigned char *value);
extern char bmp180_writeBytes(unsigned char *values, char length);

extern char bmp180_writeByte(char address, char value);
extern char bmp180_start_temp(int *value);
extern char bmp180_start_druck(long *value, unsigned char oss);
extern char bmp180_get_temp(bmp180_calc_t cal, long *temperatur);
extern char bmp180_get_druck(bmp180_calc_t cal, long *druck, unsigned char oss, long *temperatur, int *temp, long *press);
extern char bmp180_online(char *id);
Den Rest schaffst du jetzt allein.