Serial I/O At89s8252 Keil C51

Gast #23108
Lesenswert?

Hallo,
nachdem mir neulich hier im Forum gute Hilfe zuteil wurde, will ich es 
jetzt nochmal versuchen.
Ich möchte einen AT89S8252 über sie serielle Schnittstelle ansprechen um 
damit die Ports als digitale Ein-/Ausgänge anzusteuern.

Der momentane Stand der Dinge ist:

1. Ich kann mit dem Keil C51 compiler ein kleines Programm (Lauflicht) 
kompilieren und mittels Ponyprog auf den AT89S8252 laden und dort läuft 
es einwandfrei.

2. Die Pin P3.0 und P3.1 habe ich über einen MAX232 mit der seriellen 
Schnittstelle des Computers verbunden.

3. Zur Ansteuerung der seriellen Schnittstelle auf dem MC verwende ich 
die von Keil vorgegebenen Routinen (siehe Dateianhang)

Mein Problem:
Beim Senden von Characters wird der Sendebuffer einfach vollgeschrieben 
und nicht wieder geleert, d.h. anscheinend wird die Interruptroutine 
nicht aufgerufen.

Woran könnte das liegen ?

Vielen Dank schonmal für Eure Tips
Gruß
Christoph
Angehängte Dateien:
Gast #23109
Lesenswert?

Hallo,
in der Zwischenzeit habe ich mich etwas näher mit dem Keil Debugger 
beschäftigt. Bin begeistert.
Das von mir geschilderte Problem hängt wohl damit zusammen, dass das EA 
(enable all interrupts) nach Verlassen der Initialisierungsroutine 
wieder gelöscht wird.
Konnte man im Debugger gut beobachten.
Ich habe es dann einfach in der Hauptroutine wieder gesetzt und - siehe 
da - der Mikroprozessor sendet die gewünschten ASCII-Zeichen (freu).
Allen hier im Forum wünsche ich viele schöne Erfolgserlebnisse :-)
Gruß Christoph
Gast #23110
Lesenswert?

Meine Begeisterung ist wieder dahin :-(
der blöde Mikrocontroller kann zwar jetzt ASCII Zeichen senden und 
empfangen, das Senden funktioniert auch soweit nur beim Empfangen liest 
er immer ein "a", egal was ich ihm sende.
Jemand ne Idee ?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren