Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > Hallo, > > > > > 1) Wird durch den Aufruf OneWire_Read() jeweils automatisch das nächste Byte aus dem > > > 64-Bit-Rom des Sensors gelesen? > > > > Ja > > > > > 4) Bei der Ausgabe der Hex-Bytes des ROM bzw. Scratchpads mit dem „Msg_WriteHex“ > > > -Befehl werden doppelt soviele Bytes in Hex dargestellt. Je echtes Byte ein > > > „00“-Byte davor . Der Befehl hat lt. Beschreibung eine 16-Bit-Auflösung. > > > Nun die Frage: Kann man die Ausgabe des „Dummy-Bytes“ irgendwie umgehen ?? > > > Vielleicht durch einen anderen Befehl oder Übergabe eines 2-Byte-Wortes ? > > > Außerdem scheint man immer ein weiteres „Ende“-Byte beim Lesen mitzubekommen > > > (siehe auch die erste Frage ), denn ich lese immer eins mehr als die Anzahl der > > > beschriebenen Bytes > > > > Ich mache die Ausgabe wie folgt: > > > > char text[40]; > > > > > > Str_Printf(text,"Rom Code = %02x %02x %02x %02x %02x %02x",rom_code[6], > > rom_code[5],rom_code[4],rom_code[3],rom_code[2],rom_code[1]); > > > > Msg_WriteText(text); > > > > > > > > Grüße Jörg > > > > > Danke Jörg für Deine schnelle Hilfe, > ich habe es ausprobiert und es hat dann auch funktioniert (unter C) , unter Basic habe ich es zuerst > probiert, da für mein Testprogramm ein BASIC-Programm als Vorlage diente. Dort hatte ich aber > Probleme beim Str_printf Befehl mit mehr als 1 Zeile Parameter. Das ging bei mir nicht, aber unter > CompactC lief alles einwandfrei. > > Die anderen Fragen, die ich noch hatte , bin ich dabei selbst zu beantworten: > a) schreiben ins scratchpad (Alarm-Temperaturen): > > OneWire_Reset(PortA7); // PortA.7 > OneWire_Write(Skip_ROM); // ROM überspringen > OneWire_Write(Write_Scratchpad); > OneWire_Write(T_high); > OneWire_Write(T_low); > > beim auslesen bekomme ich dann wieder diese T_high- und T_low-Werte > wobei diese Werte zB so definiert sein können: > int T_high > int T_low > > T_high = 39 ( 39 °C) mit hexbyte -Darstellung 0x27, beim Auslesen > T_low = 3 ( 3°C) mit hexbyte -Darstellung 0x03, beim Auslesen > > > b) kopieren dieser Alarm-Temperaturen vom Scratchpad ins EEPROM des Sensors: > > OneWire_Reset(IK_PortA7); // PortA.7 > OneWire_Write(BK_Skip_ROM); // ROM überspringen > OneWire_Write(BK_Copy_Scratchpad); // Scratchpad Thigh und Tlow kopieren nach EEPROM > > wenn der Sensor an Spannung angelegt wird, werden diese beiden Alarm-Temperaturen aus > dem Sensor_EEPROM ins scratchpad immer automatisch kopiert (siehe dazu auch das Datenblatt > des Sensors DS18S20) . Wenn man nichts mit den Alarmwerten macht, kann man die beiden Bytes > ja auch für etwas anderes verwenden und im EEPROM bleiben sie dann für "immer" erhalten. > > c) die anderen OneWire-Befehle bin ich nun noch am ausprobieren und werde weiterberichten !!!!