PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verständnisfrage: Nutzung von externem EEPROM



stefan_Z
28.05.2007, 03:47
Ich habe Das Pollinboard v2.0 und EEPROMs der Sorte 24C08WP von ST.
Jetzt frage ich mich nur: Wenn ich den EEPROM jetzt in den passenden Socke pflanze, wie fülle ich ihn mit Daten und wie lese ich die unter Bascom wieder aus?

Erweitert der Chip einfach den EEP des Chips, ohne dass man was einstellen muss?
Dann müsste ja Compilieren und EEP-Flashen reichen, oder ist noch was anderes zu beachten?

Schreiben/Auslesen via Bascom ginge dann ja auch mit den normalen $DATA Befehlen....

Danbar für jede Hilfe..
Stefan Z

PicNick
28.05.2007, 09:14
Ohne nix geht auch nix.
Das ist ein I2C Baustein, den mußt du entsprechend anschliessen und ansteuern. "$Data" etc. geht nicht.

Rofo88
28.05.2007, 12:12
Bei mir hat sich leider ein kleiner Fehler ins Board eigeschlichen. Der Pin7 (WP) des EEproms ist mit +5V verbunden was den Schreibschutz des EEproms aktiviert. Um nun aufs EEprom Schreiben zu können muß Pin7 nach GnD oder frei bleiben da er über einen internen Pulldown verfügt.


Hier noch ein kleiner Beispielcode

$regfile = "m8def.dat"
$crystal = 16000000

Config Sda = Portc.4 'SDA und SCL definieren
Config Scl = Portc.5 'für TWI-Bus-Konfiguration

Dim X As Byte
Dim Lesen As Byte

X = "R" 'Wert der zu schreiben ist
'---- schreibe in EEprom ----
I2cstart 'Start I2C
I2cwbyte &HA0 'Sende Slave Adresse+0 fü schreiben (Spreche EEPROM an)
I2cwbyte 0 'Sende Speicheradresse High
I2cwbyte 0 'Sende Speicheradresse Low
I2cwbyte X 'Sende Wert
I2cstop 'Stop I2C
'--- lesen vom EEprom ----
I2cstart 'Start I2C
I2cwbyte &HA0 'sende Slave Adresse
I2cwbyte 0 'sende Speicheradresse High
I2cwbyte 0 'sende Speicheradresse Low

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


Do
Loop

stefan_Z
28.05.2007, 14:40
OK, danke für die Infos.
D.h. dann also, dass ich den extrernen EEP nur vom µC ausfüllen kann?
Grumpf... hatte gehofft, dass man das einmal vom PC aus machen kann, damit all die Speicherfresser ausgelagert sind...

p_mork
28.05.2007, 14:55
Hallo stefan_Z,

Du kannst das EEPROM auch vom PC aus beschreiben, indem Du einen Bootloader programmiert, der die Werte z.B. per UART empfängt und entsprechend in das EEPROM schreibt. Danach kannst Du in den Controller Dein eigentliches Programm laden, denn die Werte werden ja im EEPROM nicht gelöscht.

MfG Mark

stefan_Z
28.05.2007, 20:27
Jo, schon klar, aber alles direkt vom Rechner aus mit PonyProg reinzuflashen wäre schon cooler...