Forum: Mikrocontroller und Digitale Elektronik Probleme beim Ansteuern eines EEPROM über SPI


von Mücke (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

leider habe ich noch nicht so den Durchblick, was die Programmierung von 
Mikrocontrollern angeht und mit SPI hatte ich bisher auch noch nichts zu 
tun. Deshalb tu ich mich gerade recht schwer.

Ich möchte ein EEPROM (M95080) mit einem Mikrocontroller (MC9S12) über 
SPI ansteuern. Ich habe sowohl das Datenblatt des µC (ab S.919) als auch 
das Datenblatt des EEPROMs gelesen, aber irgendwie werd ich nicht recht 
schlau daraus. Zwar hab ich mal versucht, die Kontrollregister des µC 
passend zu initialisieren (siehe init.c), aber wie jetzt die eigentliche 
Kommunikation erfolgen soll, versteh ich nicht wirklich.

In einem ähnlichen Thread hab ich einen Beispielcode gefunden, aber hier 
konnte wohl auf schon vorgefertigte Befehle wie z.B. SPI_WRITE(0x03) 
zurückgegriffen werden.
http://www.mikrocontroller.net/attachment/47310/code.c

Ich weiß noch nicht einmal, wie ich SS auf high oder low setzen kann. 
Oder macht das der Controller selbst? Also klar, wie ich einen 
"normalen" Pin schalten kann ist mir klar, aber wenn ich ihn für SPI 
verwende, muss das wohl anders funktionieren.

Als ersten Schritt nach dem Initialisieren von SPI dachte ich, ich lese 
einfach mal einen Wert auf dem noch leeren EEPROM aus. Laut DB müsste 
ich ja dann FF zurückbekommen. Auf S.16 des DB ist beschrieben, was 
dafür notwendig ist. Erst das Befehlsbyte für READ senden und dann die 
Adresse. Und wie mach ich das? Sowohl das Byte für READ, als auch die 
Adresse ins Datenregister des µC setzen? Und gleich darauf müsste ich 
dann SS auf high setzen. Nur wie? Und daraufhin müsste ich dann den 
entsprechenden Wert wieder ins selbe Datenregister bekommen.

Boah, wie ihr seht brauch ich dringend Hilfe. Danke dafür!!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.