Du definierst
Code:
#define SRF_ADR  0xE2
gemäß Handbuch ist das der Wert des Ergebnis in Mikrosekunden vielleicht gibt es dadurch irgendeinen Überlauf.

Des weiteren solltest Du mal schauen ob Du auch immer die richtigen Register ausliest.
4. Normale Weitenmessung:
Es gibt 3 Befehle (80 to 82) um eine Messung zu starten und den Messwert in Zoll, cm oder
μs zu bekommen. Nach einer Wartezeit von normalerweise 65ms können die Messwerte
aus den Registern ausgelesen werden. Die Messwert-Register werden mit Beginn einer
jeden Messung zurückgesetzt. Der erste Messwert steht in Register 2,3 der zweite in
Register 4,5, usw. Wenn ein Messwertregister den Wert 0 hat (beide Bytes), dann gibt es
keine nachfolgenden Werte mehr. Die Lichtsensor Daten in Register 1 werden ebenfalls
nach einer Weitenmessung erneuert.