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 Andrè > ich hab mir zwischenzeitlich noch mal die > if ((addr+i) % Pagewrite)==0 and i > angesehen... die tut es tatsächlich so auch wenn es etwas "komisch" aussieht. > Betreffend dem Fehler beim Schreiben über Pagegrenzen müste man für writeint dann schreiben: > > function writeint(byte eepromaddr,int addr, int data) returns int > { > if write(eepromaddr,addr) > { > i2c.write(data shr 8); > addr=addr+1; > if (addr % Pagewrite)== 0 > { > i2c.stop(); > if not write(eepromaddr,addr) return 0; > } > i2c.write(data); > i2c.stop(); > return -1; > } > return 0; > } > > Die Prüfung auf den nullten Pagebreak (and i) kann ja entfallen da addr+1 nicht 0 sein kann. > Schreibe ich bei Pagebreak=64 ein int auf 63, wird für 63+1 ein Pagebreak ausgelöst. > Schreibe ich es auf 64, dann gilt für addr+1 = 65 und es kommt kein Pagebreak. > > Das Gleiche muß dann auch bei writelong rein, nur 3 x. > > Gruß Rolf