Hallo,

in den Beispielprogrammen sind zwei dabei die SRF08 / SRF10 Sensoren ansteuern. Vielleicht da mal schauen.
(diese Beispiele sind allerdings auf nebenläufige Abarbeitung optimiert um Zeit zu sparen und daher 10 Zeilen länger...)

Etwas einfacher geht es mit dieser Funktion aus der RP6Lib:
Code:
void I2CTWI_readRegisters(uint8_t targetAdr, uint8_t reg, uint8_t * messageBuffer, uint8_t numberOfBytes)
Ich habe das nur gerade hier im Forum getippt und nicht getestet - aber es sollte in etwa so funktionieren:
Code:
    #define SRF08_ADR 225
    I2CTWI_transmit2Bytes(SRF08_ADR, 0, 81);
    mSleep(120);
    uint8_t results[3];
    I2CTWI_readRegisters(SRF08_ADR, 2, results, 2);
   // jetzt sollten High und Low byte der gemessenen Entfernung im results Array sein.
Wie gesagt - der Code ist nicht getestet und zeigt nur das Prinzip.

MfG,
SlyD