Aus RN-Wissen.de
(→Beispiel für EEprom 24C16) |
|||
Zeile 54: | Zeile 54: | ||
'---- schreibe in EEprom ---- | '---- schreibe in EEprom ---- | ||
For A = 1 To 10 | For A = 1 To 10 | ||
− | Incr X | + | Incr X '1 bis Überlauf zählen |
− | I2cstart | + | I2cstart 'Start I2C |
− | I2cwbyte &HA0 | + | I2cwbyte &HA0 'Sende Slave Adresse |
− | I2cwbyte A | + | I2cwbyte A 'Sende Speicheradresse |
− | I2cwbyte X | + | I2cwbyte X 'Sende Wert |
− | I2cstop | + | I2cstop 'Stop I2C |
− | Waitms 10 | + | Waitms 10 'warte 10ms |
Locate 1 , 1 | Locate 1 , 1 | ||
Zeile 72: | Zeile 72: | ||
For B = 1 To 10 | For B = 1 To 10 | ||
− | I2cstart | + | I2cstart 'Start I2C |
− | I2cwbyte &HA0 | + | I2cwbyte &HA0 'sende Slave Adresse |
− | I2cwbyte B | + | I2cwbyte B 'sende Speicheradresse |
− | I2cstart | + | I2cstart 'Start I2C |
− | I2cwbyte &HA1 | + | I2cwbyte &HA1 'sende Slave Adresse +1 für schreiben |
− | I2crbyte Lesen , Nack | + | I2crbyte Lesen , Nack 'lese Adresse vom EEprom |
− | I2cstop | + | I2cstop 'Stop I2C |
Locate 2 , 1 | Locate 2 , 1 | ||
Zeile 89: | Zeile 89: | ||
End | End | ||
</pre> | </pre> | ||
− | |||
=== Beispiel für EEprom 24C256 === | === Beispiel für EEprom 24C256 === |
Version vom 25. Januar 2006, 12:29 Uhr
Inhaltsverzeichnis
Ansteuern vom I2C EEprom's mit Bascom
Allgemein
I
Etwas genauer
Struktur:
blablaaa
Beispiel für EEprom 24C16
'============I2C EEprom schreiben/lesen ================================== ' =========== Für 24C16 EEprom ===================== ' 8MHz Quarz ' LCD auf Port B , ' $regfile = "m8def.dat" $crystal = 8000000 '---Config für LCD ----------------- Config Lcd = 40 * 2 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , Rs = Portb.4 , E = Portb.5 Config Lcdbus = 4 Config Lcdmode = Port Cursor On 'SDA und SCL definieren Config Sda = Portd.5 Config Scl = Portd.7 Dim X As Byte Dim A As Byte Dim B As Byte Dim Lesen As Byte 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 Locate 1 , 1 Lcd "ins EEprom = " ; X ; " " ' Ausgabe der geschriebenen Werte am LCD 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 schreiben I2crbyte Lesen , Nack 'lese Adresse vom EEprom I2cstop 'Stop I2C Locate 2 , 1 Lcd "Lese EEprom= " ; Lesen ; " " 'Ausgabe der EEprom Werte Waitms 500 Next B Loop End
Beispiel für EEprom 24C256
Autor