------------------------------------------- Scanning-Bus-for-DS18X20 2-DS18X20-Sensor(s)-available: #-in-Bus-:1-:-FC:10-(18S)SN:-8C-79-0B-02-08-00-CRC:5F--CRC-O.K.- #-in-Bus-:2-:-FC:10-(18S)SN:-E0-76-0B-02-08-00-CRC:8E--CRC-O.K.- Sensor#-1-is-a-DS18S20/DS1820-which-is-parasite-powered Sensor#-2-is-a-DS18S20/DS1820-which-is-parasite-powered DS18x20-EEPROM-support-test-for-first-sensor TH/TL-in-scratchpad-of-sensor-1-now-:-91-/-86 TH+1-and-TL+1-written-to-scratchpad TH/TL-in-scratchpad-of-sensor-1-now-:-92-/-87 scratchpad-copied-to-DS18x20-EEPROM TH-and-TL-in-scratchpad-set-to-0 TH/TL-in-scratchpad-of-sensor-1-now-:-0-/-0 DS18x20-EEPROM-copied-back-to-scratchpad TH-and-TL-verified TH/TL-in-scratchpad-of-sensor-1-now-:-92-/-87 Vielen Dank für die aufschlussreichen Logs, leider fehlen ein paar Zeilen, z.B. 000;000;075;070;255;255;016;016; Es gibt etliche Fallstricke beim Rechnen mit signed ints, z.B. (-1)/2=+0 Wer seinen Algorithmus testen will, hier die korrekte Zuordnung: Mein Testobjekt: DS1820 von Pollin 180014 (2,50) 0 1 6 7 9bit 12bit 12bit-Äquivalent ff 00 01 10 127,5 127,6875 07fb max. Temp (lötkolbengetestet ;-)) ff 00 02 10 127,5 127,6250 07fa ff 00 03 10 127,5 127,5625 07f9 ff 00 04 10 127,5 127,5000 07f8 ff 00 05 10 127,5 127,4375 07f7 ff 00 06 10 127,5 127,3750 07f6 ff 00 07 10 127,5 127,3125 07f5 ff 00 08 10 127,5 127,2500 07f4 ff 00 09 10 127,0 127,1875 07f3 .... 02 00 0c 10 1,0 1,0000 0010 02 00 0d 10 1,0 0,9375 000F 02 00 0e 10 1,0 0,8750 000E 02 00 0f 10 1,0 0,8125 000D 02 00 10 10 1,0 0,7500 000C 01 00 01 10 0,5 0,6875 000B 01 00 02 10 0,5 0,6250 000A 01 00 03 10 0,5 0,5625 0009 01 00 04 10 0,5 0,5000 0008 01 00 05 10 0,5 0,4375 0007 01 00 06 10 0,5 0,3750 0006 01 00 07 10 0,5 0,3125 0005 01 00 08 10 0,5 0,2500 0004 00 00 09 10 0,0 0,1875 0003 00 00 0a 10 0,0 0,1250 0002 00 00 0b 10 0,0 0,0625 0001 00 00 0c 10 0,0 0,0000 0000 00 00 0d 10 0,0 -0,0625 ffff 00 00 0e 10 0,0 -0,1250 fffe 00 00 0f 10 0,0 -0,1875 fffd 00 00 10 10 0,0 -0,2500 fffc ff ff 01 10 -0,5 -0,3125 fffb ff ff 02 10 -0,5 -0,3750 fffa ff ff 03 10 -0,5 -0,4375 fff9 ff ff 04 10 -0,5 -0,5000 fff8 ff ff 05 10 -0,5 -0,5625 fff7 ff ff 06 10 -0,5 -0,6250 fff6 ff ff 07 10 -0,5 -0,6875 fff5 ff ff 08 10 -0,5 -0,7500 fff4 fe ff 09 10 -1,0 -0,8125 fff3 fe ff 0a 10 -1,0 -0,8750 fff2 fe ff 0b 10 -1,0 -0,9375 fff1 fe ff 0c 10 -1,0 -1,0000 fff0 fe ff 0d 10 -1,0 -1,0625 ffef fe ff 0e 10 -1,0 -1,1250 ffee fe ff 0f 10 -1,0 -1,1875 ffed fe ff 10 10 -1,0 -1,2500 ffec fd ff 01 10 -1,5 -1,3125 ffeb Für die 12bit-4Nachkommastellen-Ausgabe kann man die die Periodizität nutzen: die letzten beiden Ziffern sind jedes 4. Mal gleich. Ich gebe nur 2 Nachkommastellen mit LookUp aus: char s[32]="00061319253138445056636975818894"; if(temp12<0){tabs12=-temp12;sign='-';}else{tabs12=temp12;sign='+';} ... put(s[help=2*(tabs12&15)];put(s[help+1]); In den Anhängen findet Ihr ein neues Testfile (gleich aufgebaut wie die o.g. Logs), ein Programm, das das Testfile auf verschiedene Arten umrechnet und die Ausgabe dieses Programms. 252;255;075;070;255;255;014;016;158; 252 255 14 -4 ffde-2.1250 - 2.1250 - 2,13 252;255;075;070;255;255;013;016;158; 252 255 13 -4 ffdf-2.0625 - 2.0625 - 2,06 252;255;075;070;255;255;012;016;015; 252 255 12 -4 ffe0-2.0000 - 2.0000 - 2,00 252;255;075;070;255;255;011;016;097; 252 255 11 -4 ffe1-1.9375 - 1.9375 - 1,94 252;255;075;070;255;255;010;016;165; 252 255 10 -4 ffe2-1.8750 - 1.8750 - 1,88 252;255;075;070;255;255;009;016;240; 252 255 9 -4 ffe3-1.8125 - 1.8125 - 1,81 253;255;075;070;255;255;008;016;119; 253 255 8 -3 ffe4-1.7500 - 1.7500 - 1,75 253;255;075;070;255;255;007;016;111; 253 255 7 -3 ffe5-1.6875 - 1.6875 - 1,69 253;255;075;070;255;255;006;016;171; 253 255 6 -3 ffe6-1.6250 - 1.6250 - 1,63 253;255;075;070;255;255;005;016;058; 253 255 5 -3 ffe7-1.5625 - 1.5625 - 1,56 253;255;075;070;255;255;004;016;058; 253 255 4 -3 ffe8-1.5000 - 1.5000 - 1,50 253;255;075;070;255;255;003;016;084; 253 255 3 -3 ffe9-1.4375 - 1.4375 - 1,44 253;255;075;070;255;255;002;016;144; 253 255 2 -3 ffea-1.3750 - 1.3750 - 1,38 253;255;075;070;255;255;001;016;197; 253 255 1 -3 ffeb-1.3125 - 1.3125 - 1,31 254;255;075;070;255;255;016;016;040; 254 255 16 -2 ffec-1.2500 - 1.2500 - 1,25 254;255;075;070;255;255;015;016;220; 254 255 15 -2 ffed-1.1875 - 1.1875 - 1,19 254;255;075;070;255;255;014;016;024; 254 255 14 -2 ffee-1.1250 - 1.1250 - 1,13 254;255;075;070;255;255;013;016;077; 254 255 13 -2 ffef-1.0625 - 1.0625 - 1,06 254;255;075;070;255;255;012;016;137; 254 255 12 -2 fff0-1.0000 - 1.0000 - 1,00 254;255;075;070;255;255;011;016;231; 254 255 11 -2 fff1-0.9375 - 0.9375 - 0,94 254;255;075;070;255;255;010;016;035; 254 255 10 -2 fff2-0.8750 - 0.8750 - 0,88 254;255;075;070;255;255;009;016;118; 254 255 9 -2 fff3-0.8125 - 0.8125 - 0,81 255;255;075;070;255;255;008;016;241; 255 255 8 -1 fff4-0.7500 - 0.7500 - 0,75 255;255;075;070;255;255;007;016;233; 255 255 7 -1 fff5-0.6875 - 0.6875 - 0,69 255;255;075;070;255;255;006;016;045; 255 255 6 -1 fff6-0.6250 - 0.6250 - 0,63 255;255;075;070;255;255;005;016;120; 255 255 5 -1 fff7-0.5625 - 0.5625 - 0,56 255;255;075;070;255;255;004;016;188; 255 255 4 -1 fff8-0.5000 - 0.5000 - 0,50 255;255;075;070;255;255;003;016;210; 255 255 3 -1 fff9-0.4375 - 0.4375 - 0,44 255;255;075;070;255;255;002;016;022; 255 255 2 -1 fffa-0.3750 - 0.3750 - 0,38 255;255;075;070;255;255;001;016;067; 255 255 1 -1 fffb-0.3125 - 0.3125 - 0,31 000;000;075;070;255;255;016;016;999; 0 0 16 0 fffc-0.2500 - 0.2500 - 0,25 000;000;075;070;255;255;015;016;068; 0 0 15 0 fffd-0.1875 - 0.1875 - 0,19 000;000;075;070;255;255;014;016;128; 0 0 14 0 fffe-0.1250 - 0.1250 - 0,13 000;000;075;070;255;255;013;016;213; 0 0 13 0 ffff-0.0625 - 0.0625 - 0,06 000;000;075;070;255;255;012;016;017; 0 0 12 0 0 0.0000 + 0.0000 + 0,00 000;000;075;070;255;255;011;016;127; 0 0 11 0 1 0.0625 + 0.0625 + 0,06 000;000;075;070;255;255;010;016;187; 0 0 10 0 2 0.1250 + 0.1250 + 0,13 000;000;075;070;255;255;009;016;238; 0 0 9 0 3 0.1875 + 0.1875 + 0,19 001;000;075;070;255;255;008;016;105; 1 0 8 1 4 0.2500 + 0.2500 + 0,25 001;000;075;070;255;255;007;016;113; 1 0 7 1 5 0.3125 + 0.3125 + 0,31 001;000;075;070;255;255;006;016;181; 1 0 6 1 6 0.3750 + 0.3750 + 0,38 001;000;075;070;255;255;005;016;224; 1 0 5 1 7 0.4375 + 0.4375 + 0,44 001;000;075;070;255;255;004;016;036; 1 0 4 1 8 0.5000 + 0.5000 + 0,50 001;000;075;070;255;255;003;016;074; 1 0 3 1 9 0.5625 + 0.5625 + 0,56 001;000;075;070;255;255;002;016;142; 1 0 2 1 a 0.6250 + 0.6250 + 0,63 001;000;075;070;255;255;001;016;219; 1 0 1 1 b 0.6875 + 0.6875 + 0,69 002;000;075;070;255;255;016;016;054; 2 0 16 2 c 0.7500 + 0.7500 + 0,75 002;000;075;070;255;255;015;016;194; 2 0 15 2 d 0.8125 + 0.8125 + 0,81 002;000;075;070;255;255;014;016;006; 2 0 14 2 e 0.8750 + 0.8750 + 0,88