char bmp180_get_druck(bmp180_calc_t cal, long *druck, unsigned char oss, long *temperatur, int *temp, long *press)

temp und press sind die Rohdaten aus dem Auslesen der Sensoren.

druck und temperatur sollten dann die berechneten Werte liefern.

Kannst du mal deine main zeigen? Was hat den short für eine Größe? Ist das ein 16bit Integer? Die Temperatur von get_temp und get_druck sollte auf jeden Fall in beiden Fällen gleich sein. Was sind UP und B5 für Datentypen?

Schreibe mal genauer, was wann bei welchem Versuch rauskommt. Wann hast du mit Beispieldaten gerechnet und was kam dabei raus und wann hast du echt gemessen und was kam da bei druck und temperatur raus?