Forum: Mikrocontroller und Digitale Elektronik Keil und SAB80c517A


von Christian (Gast)


Lesenswert?

Hallo, ich hab mal wieder ein Problem. Muss für eine FH-Projektarbeit
was auf einem SAB80C517 programmieren, in C mit Keil. Unter anderem
will ich auch auf die 2. serielle Schnittstelle von dem Ding zugreifen.
Das funzt aber nicht. Auch im eingebauten Debugger von Keil geht da was
nicht. Ich bekomme einfach keine Werte vom S1BUF eingelesen. Ich hab's
auch mal unter Assembler ausprobiert, also z.B. sowas:

mov S1BUF,#090h
mov A,S1BUF

aber auch danach steht in A 00.
Hat einer vielleicht einen Tip woran das liegen könnte?

Danke,
Christian

von Benedikt (Gast)


Lesenswert?

Das Problem ist, dass du erstmal die Dokumentation zum uC lesen
solltest, ehe  du diesen programmierst:
SBUF ist kein Register, sonder es sind 2 Register, und zwar eines für
jede Richtung. Daher kannst du den geschriebenen Wert nicht
zurücklesen.

von Christian (Gast)


Angehängte Dateien:

Lesenswert?

ok, mag sein das das in Assembler so nicht geht, ich wollte ja
eigentlich das ganze auch in C machen. Ich hänge mal 2 Programme an,
die bis auf die Initialisierung und ein paar Bezeichnungen identisch
sind. Das erste ist eins, das ich zu Hause auf meinem AT89C51RC2 laufen
lasse, und das geht da einwandfrei. Auch im Keil Debugger läuft das so.

von Christian (Gast)


Angehängte Dateien:

Lesenswert?

Nun das zweite, das ich so auf dem C517A laufen lassen will. Aber da
geht das im Debugger nicht. Ich bin mir halt hier mit der
Initalisierung nicht ganz sicher, wobei er mir in Keil unter der
Serial1 alles so anzeigt wie ich es haben will, nur das er irgendwie
beim laufen lassen nicht von selbst einen Interrupt für senden oder
empfangen auslöst, so wie oben beim 1.

von Christian (Gast)


Lesenswert?

AHH, Fehler erstmal gefunden, der simuliert den 2. seriellen Port nicht
richtig

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.