ds2482.init gibt nicht (-1) bei erfolgreicher Initialisierung zurück Kategorie: I²C-Bus (von eagle1311 - 13.11.2007 19:06) | ||
| ||
Hallo miteinander, bin gerade dabei die ersten Schritte für eine Einzelraumsteuerung bzgl. Heizungssteuerung eines EFH zu realisieren und sto�e schon zu Beginn auf für mich unüberwindbare Hürden. Laut dem beigestellten Hilfetext (2482.html) sollte die Initialisierung eines 1W-Busmasterbaustein bei Erfolg eine "-1" zurück geben. Falls nicht erfolgreich eine "0". Soweit klar. Bei dem unten aufgeführten Code wollte ich in Abhängigkeit der erfolgreich initialisierten Bausteine die linken gelben LED's der Station "zum leuchten" bringen. Soweit die Theorie. Die Praxis sieht ein wenig anders aus. Ich kann erfolgreich den Baustein mit der Adresse "0" ansprechen, die 8-Byte-ROM-Adresse des angeschlossenen DS18B20 kann ausgelesen werden genau wie auch die Temperatur. Die erste gelbe LED an der Station bleibt allerdings dunkel, so wie die anderen drei LED's auch. Hat einer eine Idee, was ich falsch gemacht habe ? Oder liegt hier einfach nur ein Bug vor ? thread main { byte i, key; int init; byte DS1820Addr[8], Temp_HI, Temp_LO; long OneW_Temp, Temp; lcdext.init(); // interne Display der CC2-Station initialisieren stports.init(); // internen dig. Ports der CC2-Station initialisieren ds1631.init(1); // nur den einen DS1631-Sensoren initialisieren // INIT der Temperaturfühler TS[0].title = "DS18B20"; TS[0].LONGvalue = 0; TS[1].title = "DS1631 "; TS[1].LONGvalue = 0; // Anzeige der erfolgreich initialisierten 1W-Busmaster-Bausteine for i=0...3 { init = ds2482.init(i); if (init==(-1)) stports.setLED((i+1),-1); } sleep 2000; // ROM-Adresse des angeschlossenen DS18B20 ermitteln. // Es darf nur "E I N" 1W-Bus-Device angeschlossen sein, // wenn diese Funktion ausgeführt wird! ds2482.getROM(0,DS1820Addr); lcdext.delline(1); lcdext.line(1); // 8 Byte Adresse des "E I N E N" 1W-Temp.-Sensors ausgeben !!! for i=0...3 lcdext.zahl4(DS1820Addr[i]); lcdext.line(2); for i=4...7 lcdext.zahl4(DS1820Addr[i]); sleep 3000; Interessant ist hier die "for i=0...3"-Schleife zum setzen der LED's. Vielen Dank für Eure Hilfe. @ Ich hoffe der Quelltext ist nachher formatiert und so einigerma�en leserlich. Bei der "Vorschau" war alles lediglich schwarz dargestellt und ohne farbliche Unterscheidung im Quelltext | ||
Antwort schreiben Antworten: Re: ds2482.init gibt nicht (-1) bei erfolgreicher Initialisierung zurück (von JackFrost - 22.11.2007 22:07) |