Für dieses Forum muß Javascript im Browser aktiviert werden!
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> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo liebe CC2 Gemeinde, > seit einigen Wochen habe ich eine CC2 Unit und übe mich in dessen Programmierung. > Ich möchte mir einen Temperatur-Logger bauen und hierfür mehrere > One-Wire-Temperatur-Sensoren (DS18B20) auslesen. > Die zeitkritischen Dinge des One-Wire Protokolls muss ich in ASM erstellen. > Im Moment scheitere ich an der Datenübergabe zwischen CC2 und ASM. > Mit einem kleinen Testprogramm (so ähnlich hier im Forum gefunden) versuche ich im ersten > Schritt eine freie RAM-Stelle zu beschreiben und wieder auszulesen. > > Seit mehreren Tagen durchforste ich das Forum hier und finde etliche Hinweise, jedoch > habe ich das Gefühl, dass diese Hinweise immer in der Zeit des jeweiligen Standes des OS > zu sehen sind. > Auf meiner Unit nutze ich osopt_v3-1b2.hex (aktuell letzte Version) und sys0002.hex ist > auch geladen. > > Ich bekomme immer eine Null als Rückgabewert im LCD angezeigt. > Probiert habe ich auch schon mit anderen höheren Adressen, aber immer das gleiche: Null > kommt zurück. > > <code> > int _i,_j; > string _string; > > function readFD02() returns int > { > inline vmcodes.VM_LOAD_ABSOLUTE_INT; > inline 0xFD02; > }; > function writeFD02(int value) > { > inline vmcodes.VM_STORE_ABSOLUTE_INT; > inline 0xFD02; > }; > > thread main > { > lcd.clear(); > sleep 500; > lcd.print("Test13"); > sleep 1000; > for _i = 1...5 > { > lcd.clear(); > sleep 100; > writeFD02(_i); > str.clear(_string); > str.putint(_string,_i); > lcd.print(_string); > sleep 1000; > _j = readFD02(); // hier kommt immer Null zurück! > str.clear(_string); > str.putint(_string,_j); > lcd.goto(1,0); > lcd.print(_string); // Anzeige funktioniert, nur falscher Wert. > sleep 2000; > }; > }; > </code> > > > Kann mir jemand einen Tipp geben? > Ist irgendwo noch etwas einzustellen? > Vielen Dank im Voraus > Egbert