Kein 2.ter "serieller Interrupt" beim "AT89C51ED2" ?

Gast #471838
Lesenswert?

Hallo an alle :-)!

Ich habe mir vor kurzem den AT89C51 ED2 zugelegt und auch schon ein 
kleines Demoboard damit gebastelt (16bit AD-Wandler; LED's; serielle 
Schnittstelle)!

Soweit so gut. Jetzt hab ich mir gedacht, ich könnte doch einfach eine 
2.te serielle schnittstelle (+MAX232) dazulöten um gleichzeitig mit PC 
und Modul arbeiten zu können. Aber als ich mir das Datenblatt nochmals 
durchlas kam ich drauf, dass es gar keinen 2.ten "Seriellen Interrupt" 
gibt!

Meine Frage daher: Kann ich eventuell die Rx/Tx Leitung der 2.ten RS232 
Schnittstelle auf ganz normale Ports legen? Wie müsste dann die 
Programmierung (in C) aussehen?

Ich bedanke mich bei euch bereits im voraus für eure Antworten und 
verbleibe

mit freundlichen Grüßen,

Lukas
#471933
Lesenswert?

Der AT89C51ED2 hat nur eine UART.

Du kannst allerdings ne 2. und auch 3. UART in Software mit dem PCA 
programmieren.

Wenn Du dann dem PCA-Interrupt die Priorität 3 gibst, kannst Du damit 
auch hohe Baudraten erziehlen, ohne daß andere Interrupts (Priorität 
0..2) stören.

Das Prinzip ist zum Empfangsstart die Capture-Funktion und zum Senden 
die Pin set/clear on Compare-Funktion.

In der Codesammlung ist ein Beispiel für den ATMega8, das kann man 
leicht an das PCA anpassen, da in C geschrieben.



Peter

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