Hallo WarChild,

ich habe den SRF02 nicht und kann das nicht testen:
Code:
// Includes: 

#include "RP6RobotBaseLib.h"     

#include "RP6I2CmasterTWI.h" 

#define   SRF02   0xE0 

uint8_t srfbuffer[2];
uint16_t distance;


// Main: 

int main(void) 
{ 
   initRobotBase(); 
   setLEDs(0b111111); 
   mSleep(1000); 
   setLEDs(0b100100); 
   I2CTWI_initMaster(100); 
    
   // Main loop 
   while(true) 
   { 
      task_RP6System(); 

      I2CTWI_transmit2Bytes(SRF02, 0, 81); 
      mSleep(65); 
      I2CTWI_transmitByte(SRF02, 2); 

      I2CTWI_readBytes(SRF02, srfbuffer, 2);
      distance = (srfbuffer[0] << 8) + srfbuffer[1];

      writeString_P("\n distance:"); 
      writeInteger(distance,DEC); 
      mSleep(500); 
    
   } 
    
   return 0;
}
Vielleicht klappt's ja etwa so!

Gruß Dirk