Hier mal meine Vorstellung:

Code:
#include <stdlib.h>
#include <avr/io.h>
#include "i2cmaster.h"
#include "asuro.h"

#define SRF02   0xE0      // device address 

int main(void)
{
  unsigned char ret;
  int i;
  int t1, t2;
    
  Init();                                    // init Asuro
  i2c_init();                                // init I2C interface

  while(1)
  {	    
    ret = i2c_start(SRF02+I2C_WRITE);       // set device address and write mode
    if ( ret ) 
    {
      /* failed to issue start condition, possibly no device found */
      i2c_stop();
      StatusLED(RED);
      for (i=0; i<255; i++)
      {Sleep(255);}    
    }
    else 
    {
      
      i2c_write(0x51);                       // Startbefehl zum Start der Messsung
      i2c_stop();                           // 
      for (i=0;i<65;i++){Sleep(72);}   // mind. 65 ms warten bis Lesebefehl

    }

      i2c_write(0x02);
      i2c_rep_start(SRF02+I2C_READ);
      t1 = i2c_read();	
      i2c_stop();

      i2c_write(0x03);
      i2c_rep_start(SRF02+I2C_READ);
      t2 = i2c_read();	
      i2c_stop();

	
      char text[6] =" ";
      itoa(t1, text, 6);    
      SerWrite(text, 6);
	  
	  SerWrite("      ", 6);
	  
	  char text2[6] =" ";
      itoa(t2, text2, 6);    
      SerWrite(text2, 6);
	  
      SerWrite("\r\n", 2); /* Zeilenvorschub */

      for (i=0; i<255; i++)
      {Sleep(255);}


  }


  return 0;
}
Der Link der Datenblattes lautethttp://www.robotikhardware.de/download/srf02doku.pdf

Danke für die Unterstützung.