Das stimmt wohlH-Pegel auf L-Ausgang macht sich nicht so gut!
So, ich habe jetzt mal mit dem 24C16 weitergemacht. Dieser hat gleich funktioniert. Doch habe ich noch ein paar Fragen (Verständnis) :
Ist das richtig, dass beim 24C16 Typ die Adressenanschlüsse nicht intern beschaltet sind, sodass ich nur eine Adresse habe und auch nicht ändern kann (so stand es irgendwo)??
Wie ist der 24C16 genau aufgebaut ?? Damit meine ich wie viele Datenstellen und was passt in jede Stelle ?? Kann ich in eine Stelle auch ein Wort schreiben oder nur eine gewisse länge von Zahlen/Bits ??
Das ist das Programm :
Wieso muss ich bei der For B = 1 To 10 Schleife erst einmal den I2C Bus öffnenCode:$regfile = "m32def.dat" $crystal = 16000000 $baud = 9600 $hwstack = 200 $swstack = 200 $framesize = 400 Config Portd.7 = Output 'TWI konfigurieren Config Sda = Portc.1 Config Scl = Portc.0 Config Twi = 100000 Dim X As Byte Dim A As Byte Dim B As Byte Dim Lesen As Byte Sound Portd.7 , 400 , 450 Sound Portd.7 , 400 , 250 Sound Portd.7 , 400 , 450 Wait 1 Do '---- schreibe in EEprom ---- For A = 1 To 10 Incr X '1 bis Überlauf zählen I2cstart 'Start I2C I2cwbyte &HA0 'Sende Slave Adresse I2cwbyte A 'Sende Speicheradresse I2cwbyte X 'Sende Wert I2cstop 'Stop I2C Waitms 10 'warte 10ms Print "ins EEprom = " ; X ; " " ' Ausgabe der geschriebenen Werte Waitms 500 Next A '--- lesen vom EEprom ---- For B = 1 To 10 I2cstart 'Start I2C I2cwbyte &HA0 'sende Slave Adresse I2cwbyte B 'sende Speicheradresse I2cstart 'Start I2C I2cwbyte &HA1 'sende Slave Adresse +1 für Lesen I2crbyte Lesen , Nack 'lese Adresse vom EEprom I2cstop 'Stop I2C Print "Lese EEprom= " ; Lesen ; " " 'Ausgabe der EEprom Werte Waitms 500 Next B Loop End
Dann das schreiben : (was bedeutet das dann ??)
I2cstart 'Start I2C
I2cwbyte &HA0 'sende Slave Adresse
I2cwbyte B
Und dann den Bus nicht schließen, aber noch mal öffnen ??:
I2cstart 'Start I2C
I2cwbyte &HA1 'sende Slave Adresse +1 für Lesen
I2crbyte Lesen , Nack 'lese Adresse vom EEprom
I2cstop
Und noch eine Frage : Wie kann man das mit den Adressen herausfinden ?? Wie funktioniert das mit dieser Hex Zahl oder der Bin Darstellung ??
Ich hoffe ihr könnt mir meine ganzen Fragen beantworten ..... Denn wie immer freue ich mich über Antworten sehr
Der Einsteiger
Lesezeichen