1-Wire 18B20 Kategorie: I²C-Bus (von ChristianS - 25.09.2010 16:55) | ||
| ||
Hallo, da habe ich das 1.Problem noch nicht gelöst, da kommt schon das Nächste. Ich habe einen 18B20an einer Bridge 8 angeschlossen und diese an den I2C-Bus der CC2-Station. Die Adresse des Busteins steht auf 0, also A0;A1;A2 gegen Masse. Der Sensor hängt am Port 1W0 Folgendes Progrämmchen habe ich geladen: /******************************************************************/ /* Beispiel zum Auslesen des DS1822 1Wire-Temperatursensors */ /* am DS2482-100 */ /******************************************************************/ const DS1822ROM[]=34,135,56,17,0,0,0,247; const convertTEMP = 0x44; const readSCRATCHPAD = 0xBE; /***********************************/ /* Temperatur auslesen */ /***********************************/ function getTempl(byte ds2482addr, byte ROM[]) returns long {long temp; int x; ds2482.matchROM(0,ROM); ds2482.writeByte(ds2482addr,convertTEMP); sleep 750; ds2482.matchROM(0,ROM); ds2482.writeByte(ds2482addr,readSCRATCHPAD); x=ds2482.readByte(ds2482addr) or ds2482.readByte(ds2482addr) shl 8; if x and 0xF000 temp= (x shr 4) or 0xF000; else temp= x shr 4; return temp*10000 + (x and 0xF)*625; } function lcdzahl7n4(long zahl) { lcdext.zahl3(zahl/10000); lcdext.put(','); zahl=zahl%10000; lcdext.ziff(zahl/1000); lcdext.ziff(zahl/100); lcdext.ziff(zahl/10); lcdext.ziff(zahl); } thread main {byte DS1822Addr[8],i; long temp; lcdext.init(); ds2482.init(0); // ROM-Adresse des angeschlossenen DS1822 ermitteln. // Es darf nur ein 1W-Bus-Device angeschlossen sein, // wenn diese Funktion ausgeführt wird! ds2482.getROM(0,DS1822Addr); // 64Bit Adresse ausgeben for i=0...3 lcdext.zahl4(DS1822Addr[i]); lcdext.line(2); for i=4...7 lcdext.zahl4(DS1822Addr[i]); sleep 2500; lcdext.clear(); lcdext.print("Temperatur:"); lcdext.goto(2,8); lcdext.put(223); lcdext.put('C'); loop { lcdext.line(2); lcdzahl7n4(getTempl(0,DS1822Addr)); } } Leider bekomme ich als Rom-Adresse nur Nullen angezeigt. Wo liegt das Problem? Danke und Gru�, ChristianS | ||
Antwort schreiben Antworten: Re: 1-Wire 18B20 (von BerndK - 25.09.2010 20:43) Re: 1-Wire 18B20 (von ChristianS - 26.09.2010 12:06) Re: 1-Wire 18B20 (von ChristianS - 26.09.2010 12:26) Re: 1-Wire 18B20 (von André H. - 28.09.2010 8:19) Re: 1-Wire 18B20 (von ChristianS - 28.09.2010 12:48) |