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 Zusammen, > > > > klingt ja interessant, ich habe auch Probleme mit dem MAX7311. Ich lese regelmäßig den Zustand > > des Ausgangsregisters. Mit dem Ergebnis, das sporadisch 0b00000000 gelesen wird, obwohl > > mindestens ein Bit gesetzt ist. (Es können auch alle gesetzt sein, bzw. es ist auch egal ob es das > > obere oder untere Byte ist. Ich kann es mir nicht erklären, ein Softwarefehler schließe ich mitterweile > > aus, allerdings evtl. ein Problem mit dem Betriebssystem???? Ich habe das Problem erstmal umschifft, > > ich die Register immer dreimal hintereinander auslese, und dann prüfe ob jedesmal das gleiche gelesen > > wird.... > > > > Detlef > > > Hallo Detlef, > > ich hab gerade mal in die Function getReg aus dem max7311.c2 Modul geschaut. > Wenn es einen Adressierungsfehler gibt, hast Du automatisch in jedem Fall 0 als > Rückgabewert. > > Wie ich schon sagte: Das mit dem mehrfachen lesen der Register bzw. Kontrolllesen > nach Schreiboperationen ist sicher nicht die dümmste Idee, da es am I2C keine Daten- > sicherheit gibt. Bei allen kritischen Funktionen, die über I2C gehen, habe ich nach der > normalen Adressierung eine sofortige Neuadressierung eingebaut. Sollte diese ebenfalls > Fehlschlagen, wird ein Fehlerzähler hochgezählt. > Damit erreiche ich noch keine Datensicherheit. Ich bin mir lediglich sicher, das der Baustein reagiert. > > Die Datensicherheit erreiche ich nur durch Kontrolllesung, d.h. Inputs werden 2mal eingelesen > und sind nur bei gleichheit gültig. Outputs werden Kontrollgelesen und ggf. sofort neu geschrieben. > > Gruß krassos > > PS: Die eine oder andere Hardwaremaßnahme kann hilfreich sein. z.B. Ferritperlen > an den Anschlußdrähten SCL und SDA.