Hallo alle zusammen.
Da ich noch einen alten 24C01 mit 128 Byte Speicher rumliegen hatte, wollte ich mal testen, ob ich den zu laufen bekommen. Ich ahbs schon geschaft Daten zu schreiben und zu lesen.
Es kommt nur leider irgendwie nicht so richtig das raus, was ich auch hineingeschrieben habe.
Mein Quelltext sieht wie folgt aus:
Ich schreibe also jeweils acht mal hintereinander die binären werte von 1 bis 16 in das EEPROM.Code:$regfile = "m16def.dat" $crystal = 16000000 $baud = 38400 Config Sda = Portc.1 Config Scl = Portc.0 Config I2cdelay = 10 Dim A As Byte Dim B As Byte Dim Lesen As Byte Dim I As Byte Do '---- schreibe in EEprom ---- For A = 1 To 16 I2cstart I2cwbyte &HA0 I2cwbyte A For I = 1 To 8 I2cwbyte A Next I I2cstop Waitms 10 Next A '--- lesen vom EEprom ---- For B = 1 To 16 I2cstart I2cwbyte &HA0 I2cwbyte B I2cstart I2cwbyte &HA1 For I = 1 To 7 I2crbyte Lesen , Ack Printbin Lesen Next I I2crbyte Lesen , Nack Printbin Lesen I2cstop Waitms 50 Next B Wait 2 Loop End
Raus bekomme ich aber folgendes:
Das ist ja nun nicht ganz das, was ich mir vorgestellt hatte. Sieht irgendwie recht wild aus.Code:007 007 007 007 007 007 007 015 007 007 007 007 007 007 015 015 007 007 007 007 007 015 015 015 007 007 007 007 015 015 015 015 007 007 007 015 015 015 015 015 007 007 015 015 015 015 015 015 007 015 015 015 015 015 015 015 015 015 015 015 015 015 015 015 015 015 015 015 015 015 015 016 015 015 015 015 015 015 016 016 015 015 015 015 015 016 016 016 015 015 015 015 016 016 016 016 015 015 015 016 016 016 016 016 015 015 016 016 016 016 016 016 015 016 016 016 016 016 016 016 016 016 016 016 016 016 016 016
Hab vielleicht jemand ne Ahnung woran das liegen könnte. Ich muss zugeben, dass ich zum ersten mal mit nem EEPROM arbeite. Ist da eventuell ein Fehler in meinem Quelltext? Es kommt immer nur das richtige raus, wenn ich 128 mal den selben Wert ins EEPROM lade.
Ich bin euch für jeden Tipp dankbar!







Zitieren
Lesezeichen