Ich hab es jetzt mit Pausen versucht, aber auch das änderte überhaupt nichts. Ich glaube auch nicht, dass beim Lesen oder Schreiben Fehler auftreten, dass also falsche Werte ins EEPROM geschrieben oder gelesen werden.
Hir nochmal mein aktueller Quellcode:
Und hier mal das, was ich dann beim lesen erhalte: (jede Zeile entspricht einer Page zu je 8 Byte)Code:$regfile = "m16def.dat" $crystal = 16000000 $baud = 38400 Config Sda = Portc.1 Config Scl = Portc.0 Config I2cdelay = 20 Dim A As Byte Dim B As Byte Dim Lesen(8) As Byte Dim I As Byte Dim X As Byte Dim Schreiben(8) As Byte Dim Temp As Byte I2cinit Do X = 1 '---- schreibe in EEprom ---- For A = 1 To 16 I2cstart Waitms 5 I2cwbyte &HA0 Waitms 5 I2cwbyte A Waitms 5 For I = 1 To 8 I2cwbyte X Waitms 5 Incr X Next I I2cstop Waitms 20 Next A '--- lesen vom EEprom ---- For B = 1 To 16 I2cstart Waitms 5 I2cwbyte &HA0 Waitms 5 I2cwbyte B Waitms 5 I2cstart Waitms 5 I2cwbyte &HA1 Waitms 5 For I = 1 To 7 I2crbyte Lesen(i) , Ack Waitms 5 Next I I2crbyte Lesen(8) , Nack Waitms 5 I2cstop Waitms 50 For I = 1 To 8 Temp = B * 8 Temp = Temp - 8 Temp = Temp + I Schreiben(i) = Temp Next I 'Printbin Schreiben(1) Printbin Lesen(1) Next B Wait 2 Loop End
Für mich sieht das so aus, als würde der EEPROM beim Lesen oder Schreiben "verrutschen". Wie finde ich denn heraus, ob der Fehler beim Lesen oder beim Schreiben liegt, oder ob möglicherweise beide Routinen fehlerhaft sind?Code:051 052 053 054 055 056 049 114 052 053 054 055 056 049 114 115 053 054 055 056 049 114 115 116 054 055 056 049 114 115 116 117 055 056 049 114 115 116 117 118 056 049 114 115 116 117 118 119 049 114 115 116 117 118 119 120 114 115 116 117 118 119 120 113 115 116 117 118 119 120 113 121 116 117 118 119 120 113 121 122 117 118 119 120 113 121 122 123 118 119 120 113 121 122 123 124 119 120 113 121 122 123 124 125 120 113 121 122 123 124 125 126 113 121 122 123 124 125 126 127 121 122 123 124 125 126 127 128
Ich danke euch für eure bisherige Hilfe, auch wenn der Fehler noch immer nicht beseitigt ist.
Bin auch weiterhin für jeden Tipp dankbar.







Zitieren

Lesezeichen