Re: Evtl. Fehler im Modul eeprom.c2 Kategorie: I²C-Bus (von Rolf - 11.07.2003 20:01) | |
Als Antwort auf Re: Evtl. Fehler im Modul eeprom.c2 von André H. - 11.07.2003 19:36
| |
Danke für die schnelle Info und den Fix. Mit dem �berarbeiten des I²C-Capture wäre ja auch evtl. das Problem des Handlings mehrfacher Eeprom-operationen im Zusammenhang mit Threads wie in der Ergänzung zum Bug beschrieben, unter zu bringen. Sicheres Threading ist eine ganz schön komplizierte Angelegenheit... :-) Mit freundlichem Gru� Rolf Diesing > function read(byte eepromaddr,int addr) returns int > {byte i; > i=0; // Diese Zeile mu� rein, FIX > eepromaddr= 160 or (eepromaddr shl 1); > ... > > Die in der Funktion nachfolgende Schleife sollte max. ca. 100ms warten, bis das > EEProm wieder bereit ist. Ist es nach dieser Zeit nicht bereit, so wird der Lesevorgang > abgebrochen. Durch das fehlende "i=0;" am Anfang konnte i bereits grö�er 100 sein, > womit der Lesevorgang bei einem nicht sofort bereitem EEProm abgebrochen wird. > Wenn Du zwischen dem Schreib' und Lesevorgang eine kleine Pause machst funzt > es allerdings ohne Probleme. > Ich werde das Modul jetzt aber nicht so schnelle Updaten, da ich alle I²C-Bus benützenden > Module erst auf das neue I²C-Capture umschreibenmu� und evtl. auch beschleunigen werde. > Kurz: Alle Module für I²C-Bus-komponenten die für das Capture die Variable i2c.flag benützen, > oder sogar noch keinerlei Capture besitzen, werden von mir noch im Laufe des Sommers > komplett überarbeitet. | |
Antwort schreiben Antworten: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |