... Dann werd ich das Ganze mal wieder hervorholen.
Tja. Wenn ich dieses Detail nur kapieren würde.

Im Internet hatte ich folgende Anleitung gefunden:
Code:
Busy Test geht so: 
1. Start senden 
2. Adresse + W senden 
3. ACK lesen 
4. if ACK gehe zu 7. 
5. Stop senden 
6. gehe zu 1. 
7. Stop senden 
Ende
Mein Code lautet (und ich bin sicher, dass ich damit die Anleitung NICHT realisiert habe (sorry):
Code:
  cli(); tmr1  = 0; sei();      // Timer 1 starten
             //
  i2c_start (Sadd + I2C_WRITE); // Starte Slave lesen
  i2c_write ( 0x00 );           // write address = dieses Byte soll gelesen werden
        i2c_stop();             //

  i2c_start (Sadd + I2C_READ);  // Slave bereit zum Lesen?
  lobyte  = i2c_readNak();      // Byte lesen... NAK
        i2c_stop();             //

  cli(); Timer1  =  tmr1; sei();
  uputs0 ("\r\t## Timer1 =  "); uputs0u ( Timer1 );
  uputs0 ("\r\tlobyte =  "); uputs0u ( lobyte );
mit i2c_readAck/~Nak laut PFleury
Code:
/*************************************************************************
 Read one byte from the I2C device, request more data from device 

 Return:  byte read from I2C device
*************************************************************************/
unsigned char i2c_readAck(void)
{
    TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA);
    while(!(TWCR & (1<<TWINT)));    

    return TWDR;

}/* i2c_readAck */


/*************************************************************************
 Read one byte from the I2C device, read is followed by a stop condition 
 
 Return:  byte read from I2C device
*************************************************************************/
unsigned char i2c_readNak(void)
{
    TWCR = (1<<TWINT) | (1<<TWEN);
    while(!(TWCR & (1<<TWINT)));
    
    return TWDR;

}/* i2c_readNak */
mit dem Ergebnis:
Code:
    ## Timer1 =  2
    lobyte =  6
Das Ergebnis bedeutet, dass ich a) mehr als zwischen 100 µs und 150 µs fürs abarbeiten gebraucht habe und dass b) das gelesene Byte die ominöse 6 ist. Der Fall a) würde bedeuten, dass die zum Lesen vom SRF02 benötigten 75 ms (MILLI !) nicht erreicht wurden. In < 150 µs läuft der Schall ganz grob 5 cm, der Sensor hat aber rund 2 m bis zum Echo . . .

Daher bitte ich um weitere Hilfe, danke.

Nachtrag/Erklärung: Wieso steht da
Code:
  lobyte  = i2c_readNak();      // Byte lesen... NAK
Weil sich der controller aufhängt, wenn ich ein i2c_readAck(); reinschreibe (ich hab ja geschrieben, dass ich das nicht kapiere :-/ )