Muss erstmal mein ganzes Programm ausbauen.
Schade das du daraus keine fertige Library gemacht hast. Wenn ich es hin bekommen habe, melde ich mich zurück.

- - - Aktualisiert - - -

Ich bekomme es leider noch nicht so wirklich mit der Struktur auf die Kette, wollte aus deinen Routinen jetzt eine Library erstellen und die Variablen in der Header Datei für "extern" bekannt geben.

Was mache ich verkehrt ?

#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 bmp180_calc_t cal;

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);