Überprüfen ob DS18B20 mit spezieller Adresse angeschlossen ist

Hallo Zusammen

ich suche schon seit einiger Zeit und bin noch nicht fündig geworden.
Ich glaube mich zu errinnern dass die Dalls TemperaturLib eine möglichkeit hat, das Vorhandensein ,eines Temperatursensors über seine Adresse, zu überprüfen.
weiß eventuell jemand den Befehl?
Es handelt sich um die LIB von Miles Burton.

Grüß Rudi

Du musst dir nur die Header Datei anschauen und schon hättest du das gefunden

  // attempt to determine if the device at the given address is connected to the bus
  bool isConnected(uint8_t*);

Hallo Serenifly

Danke das hat schon weitergeholfen.
Ich habe aber auch diese Funktion entdeckt " // returns true if address is valid
bool validAddress(const uint8_t*); "

diese Funktion ist mir nicht ganz klar.

anstatt unit8_t* müsste ich doch die Adresse eingeben aber di ligt doch in hex vor und hier ist es ein char .
Wie gibt die Anweisung das Ergebnis zurück?

Grüße Rudi

validAddress() überprüft lediglich ob die CRC Checksumme der Adresse korrekt ist:

bool DallasTemperature::validAddress(uint8_t* deviceAddress)
{
  return (_wire->crc8(deviceAddress, 7) == deviceAddress[7]);
}

isConnected() fragt auch tatsächlich den Bus ab

anstatt unit8_t* müsste ich doch die Adresse eingeben aber di ligt doch in hex vor und hier ist es ein char.

Lerne wie Datentypen und Arrays in C/C++ funktionieren

DeviceAddress ist ein Array aus 8 Bytes (unsigned char):

typedef uint8_t DeviceAddress[8];

Array-Variablen sind wiederum Zeiger auf das erste Element. Deshalb unit8_t* als Parameter

Wie gibt die Anweisung das Ergebnis zurück?

Schau dir an wie Funktionen funktionieren. Der Rückgabewert ist ein bool