DS2408 Adresse vergeben 1-Wire

Hallo,

ich würde gerne die Adresse vom DS2408 (die ich mir ausgelesen habe) gerne fest im Sketch eingeben würde jedoch bekomme ich das nicht hin. Im moment scheint er den Bus abzusuchen und das möchte ich nicht!?

#include <OneWire.h>


void ReadAndReport(OneWire* net, uint8_t* addr) {
  
  uint8_t buf[13];  // Put everything in the buffer so we can compute CRC easily.
  buf[0] = 0xF0;    // Read PIO Registers
  buf[1] = 0x88;    // LSB address
  buf[2] = 0x00;    // MSB address
  net->write_bytes(buf, 3);
  net->read_bytes(buf+3, 10);     // 3 cmd bytes, 6 data bytes, 2 0xFF, 2 CRC16
  net->reset();

  if (!OneWire::check_crc16(buf, 11, &buf[11])) {
    Serial.print("CRC failure in DS2408 at ");

    return;
  }
  Serial.print("Digital = ");
  // First 3 bytes contain command, register address.
  Serial.println(buf[3], BIN);

}

OneWire net(12);  

void setup(void) {
  Serial.begin(9600);

}

void loop(void) {

  byte addr[8];


  
  if (!net.search(addr)) {
    //Serial.print("No more addresses.\n");
    net.reset_search();
    
    return;
  }
  
  if (OneWire::crc8(addr, 7) != addr[7]) {
    //Serial.print("CRC is not valid!\n");
    return;
  }
  
  if (addr[0] != 0x29) {
    //PrintBytes(addr, 8);
    //Serial.print(" is not a DS2408.\n");
    return;
  }
  
  ReadAndReport(&net, addr);

  delay(2000);
}

Die Adresse vom DS2408 ist: 29 9D 50 12 00 00 00 72

Hallo, beim DS1820 (ich denke das wird genau so sein) hab ich es als Beispiel so gemacht:

DeviceAddress Sensor0 = {0x28, 0xBB, 0x7B, 0xDA, 0x02, 0x00, 0x00, 0xA9};

und beim einlesen später Temperatur0 = sensors.getTempC(Sensor0);

Hilft dir vielleicht. Gruß Bernward

Hmmm... die Idee hatte ich auch schon... nur weis ich nicht an welcher Stelle der "Sensor0" dann eingebunden werden sollte...