Hallo,
okay. Ich glaube nicht das sich der µC aufhängt. Er wird die Abfragen einfach überspringen, also diese Zeilen nicht ausführen. Den Rest aber. Kannste überprüfen in dem Du an der Stelle einen Zähler auf die serielle ausgeben läßt. Der wird sicherlich munter hochzählen.
Ich vermute das Problem weiter oben im Adress Array. Auf welchem Bsp. der Dallas Lib beruht dein Codeaufbau?
// arrays to hold device addresses
DeviceAddress T[4] =
{
{
0x28, 0x79, 0xDE, 0x5B, 0x06, 0x0, 0x0, 0x71 }
, // T1 -> 2879DE5B06000071
{
0x28, 0xB6, 0xF7, 0x5C, 0x06, 0x0, 0x0, 0x47 }
, // T2 -> 28B6F75C06000047
{
0x28, 0xA5, 0xED, 0x5C, 0x06, 0x0, 0x0, 0x84 }
, // T3 -> 28A5ED5C06000084
{
0x28, 0xFC, 0xC6, 0x5C, 0x06, 0x0, 0x0, 0xB4 }
// T4 -> 28FCC65C060000B4
};
Definiere die Adressen mal einzeln. Also jede Adresse bekommt einen Arraynamen.
Bsp.
// Device Adressen der einzelnen DS1820 Temperatursensoren angeben
DeviceAddress sensor1 = { 0x28, 0xFF, 0x4A, 0xAD, 0x6B, 0x14, 0x03, 0x79 }; // externer "1."
DeviceAddress sensor2 = { 0x28, 0xFF, 0x36, 0xB0, 0x6B, 0x14, 0x03, 0x90 }; // externer "2."
DeviceAddress sensor3 = { 0x10, 0x47, 0x27, 0xD9, 0x02, 0x08, 0x00, 0x09 }; // Sensor auf dem Board