Gast
#2006477
Hallo, ich bin mittlerweile etwas weitergekommen bei meinen Problemchen von gestern. Wie gesagt ich möchte mit einem Mikrocontroller (MC9S12XF512) ein EEPROM (M95080) über SPI ansteuern. Hier die Links zu den Datenblättern: http://www.mikrocontroller.net/attachment/97308/MC9S12XF512.pdf http://www.mikrocontroller.net/attachment/97306/EEPROM.pdf Im Prinzip ist mir der Ablauf jetzt klar. Ich muss eigentlich nichts anderes machen, als die Kontrollregister SPICR1 und SPICR2 sowie die Baudrate in SPIBR geeignet einstellen. Danach kann ich entweder, sobald im Statusregister SPISR das Bit SPIF gleich 1 ist das Datenregister SPIDR auslesen (Receive), oder sobald im Statusregister SPISR das Bit SPTEF gleich 1 ist in das Datenregister SPIDR schreiben (Transmit). Die Datenübertragung an sich übernimmt dann der Mikrocontroller automatisch, sprich ich muss/kann mich z.B. nicht um das Setzen von SS kümmern. Jetzt hab ich nur ein Problem: Laut Mikrocontrollerdatenblatt S.938 f. umfasst eine Datenübertragung entweder 8 oder 16 Bits (je nach gewählter Einstellung im Kontrollregister SPICR2 Bit7). Im Datenblatt des EEPROMS auf S.16 ist der erforderliche Ablauf zum Lesen des EEPROMs beschrieben. Hier steht, dass auf dein 8 Bit langen Befehl READ eine 16 Bit lange Adresse des zu lesenden Feldes folgen muss, woraufhin der Inhalt dieses Feldes übertragen wird. Sprich die Datenübertragung muss insgesamt mindestens 32 Bit lang sein. Der Mikrocontroller bietet mir aber nur max 16 Bit an. Ich kann das ja schlecht aufteilen, da der Mikrocontroller nach 16 Bit ja die Übertragung beendet und SS auf High zieht, oder??? Vielleicht ist es mir ja heute gelungen, mich ein wenig präziser auszudrücken, sodass sich jemand meiner erbarmt und Hilfe anbietet. Danke!