Forum: Mikrocontroller und Digitale Elektronik SPI 8051 SPIDAT


von Heinz (Gast)


Lesenswert?

Hallo,
ich hab ein kleines Problem mit einem 8051 Controller.
Ich möchte über SPI Daten senden. SPI hab ich eingestellt:
1
CFG814 = 0x01;  //SPI an 
2
SPICON = 0x31;  //Master
...
1
SPIDAT = 0x64;     //Wert in SPIDAT schreiben
2
while(ISPI == 0);  //warte bis geschrieben ist
1
ISPI = 0;     //ISPI zurück setzen
...

ich verwende Keil µVision3 und kann in der Simulation sehen, dass sich 
der Wert in SPIDAT nie ändert, er steht immmer auf 0x00.
Mach ich grundsätzlich was falsch?

Vielen Dank für eure Hilfe.

Gruß
Heinz

von Peter D. (peda)


Lesenswert?

Heinz wrote:

> ich hab ein kleines Problem mit einem 8051 Controller.

Es gibt über 500 verschiedene 8051-er und SPI gehört nicht zu der 
Standardausrüstung, die jeder 8051 hat.

Du mußt schon nen genauen Typ angeben (AT89S8252 ?).


> ich verwende Keil µVision3 und kann in der Simulation sehen, dass sich
> der Wert in SPIDAT nie ändert, er steht immmer auf 0x00.

Hast Du die Simulator-Doku gelesen, ob diese Funktion für Dein 
spezielles 8051-Derivat überhaupt unterstützt wird ?


Peter

von Heinz (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich verwende einen ADuC814. Keil hat in seiner Device Datenbank diesen 
Controller. Wie man im Bild sehen kann kann ich auch SPICON einstellen, 
nur SPIDAT lässt sich nicht bschreiben.

Gruß
Heinz

von Peter D. (peda)


Lesenswert?

Daß man Register setzen kann, heißt noch lange nicht, daß die dahinter 
liegende Hardware auch simuliert wird.


Peter

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.