Also die Variable "temp" verwendet Peter Dannegger in seinem Progra m für die aktuelle Temperatur . Somit wollte ich immer wenn die ID vom 1 Sensor angesprochen wird die ich in "temp1" speichern will, über diese if Bedingung.

Die Änderungen hab ich in der tempmeas.c vorgenommen und sieht dann folgender maßen aus.

Code:
void start_meas( void ){
  if( W1_IN & 1<< W1_PIN ){
    w1_command( CONVERT_T, NULL );
    W1_OUT |= 1<< W1_PIN;
    W1_DDR |= 1<< W1_PIN;			// parasite power on

  }else{
    uputsnl( "Short Circuit !" );
  }
}


void read_meas( void )
{
  uchar id[8], diff;
  uchar s[30];
  uchar sa[30];
  uchar i;
  uint temp;
  uint temp1;

  for( diff = SEARCH_FIRST; diff != LAST_DEVICE; ){
    diff = w1_rom_search( diff, id );

    if( diff == PRESENCE_ERR ){
      uputsnl( "No Sensor found" );
      break;
    }
    if( diff == DATA_ERR ){
      uputsnl( "Bus Error" );
      break;
    }
    if( id[0] == 0x28 || id[0] == 0x10 ){	// temperature sensor
      uputs( "ID: " );
      for( i = 0; i < 8; i++ ){
	sprintf( s, "%02X ", id[i] );
	uputs( s );
      }
      w1_byte_wr( READ );			// read command
      temp = w1_byte_rd();			// low byte
      temp |= (uint)w1_byte_rd() << 8;		// high byte
      if( id[0] == 0x10 )			// 9 -> 12 bit
        temp <<= 3;
      sprintf( s, "  T: %04X = ", temp );	// hex value
      uputs( s );
      sprintf( s, "%4d.%01døC", temp >> 4, (temp << 12) / 6553 ); // 0.1øC
      uputsnl( s );
    }

     if (id == 0xB37C720108009B)
     {
       temp = temp1;
       sprintf( sa, "  T: %04X = ", temp1 );	// hex value
       uputs( sa );
       sprintf( sa, "%4d.%01døC", temp1 >> 4, (temp1 << 12) / 6553 ); // 0.1øC
       uputsnl( sa );
     }

  }
  uputsnl( "" );
}
Die Berechnungen der Variablen "temp" bei der ausgabe habe ich so übernommen und funktioniert auch... Nur wenn ich versuche die temp1 auszugeben wird nur 0 angezeigt...