Re: modul DS1631.C2 V1.3 Kategorie: I²C-Bus (von mgerbeth - 2.01.2012 15:09) | ||
Als Antwort auf modul DS1631.C2 V1.3 von Marius Stelzl - 10.07.2010 20:17 | ||
| ||
> hi, > > ich an meine ccontrol II station ein thermometer modul von conrad (198298) > angeschlossen und dazu die neue version des ds1631.c2 in die > entwicklungsumgebung eingespielt. > > ich habe jetzt ein paar stunden lang herumprobiert und mich gewundert, > warum das gerät immer -60 grad oder -0.00 grad anzeigt bis ich > daraufgekommen bin, das die funktion ds1631.init() irgendwie nicht so > tut wie sie soll; aber mit ds1631.setConfig() gefolgt ds1631.convert() > funktioniert es: > > thread main > { > > int ret; > int temp; > float temp_calc; > string temp_ausgabe; > > ret = ds1631.init(7, 12, 1); > //funktioniert nicht wirklich > > ds1631.setConfig(7,12); > ds1631.convert(7); > //funkt > > loop > { > second=system.second(); > temp_ausgabe = ""; > > pcflcd_c.line(2); > temp = ds1631.readi2(7); > > temp_calc = temp; > temp_calc = temp_calc / 100; > > str.putfloatf(temp_ausgabe,temp_calc,2); > > pcflcd_c.print(temp_ausgabe); > pcflcd_c.put(' '); > pcflcd_c.put(223); > pcflcd_c.put('C'); > sleep 500; > pcflcd_c.delLine(0); > > wait second!=system.second();//Auf Sekundenwechsel warten > } > } > > die funktion ds1631.init() in version 1.3 dürfte einen käfer haben > *insektenvertilgungsmittel such* oder liegts an der hardware von conrad? > > > Hallo zusammen, ich habe hier das selbe Problem, daher Dank an Marius für den Workarround. Die Hardware ist es eher nicht, da mein Sensor von CCTools stammt und mit der Init-Funktion des alten Treibers problemlos funktioniert. Evtl. kann sich Andrè ja das Problem mal ansehen. //I2c Temperaturfühler initialisieren //mret = ds1631.init(0, 12, 0); //Aussentemperaturfühler // Init-Funktion des neuen Treibers funktioniert nicht, daher dieser Workarround: ds1631.setConfig(0,12); ds1631.convert(0); //if (mret==-1) if i2c.cstart(0x90) // interne Adresse des Fühlers(0) { hwcom.print("03 Aussentempf. OK"); } else { hwcom.print("03 Aussentempf. --"); } i2c.stop(); // mu� beim umstellen auf ds1631.init wieder herausgenommen werden hwcom.ret(); Danke und Gru� Manfred | ||
Antwort schreiben Antworten: |