Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » JUTE: Initalisierung von Tor 2 für Ausgabe » Themenansicht

Autor Thread - Seiten: -1-
000
14.05.2022, 13:30 Uhr
Bert



Das Thema gab es schon mal, aber man (bzw. ich) kann dort nicht mehr antworten:
https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=1765


Zitat:

beim Ansteuern des Tor 2 zur Datenausgabe (siehe Doku Teil 2, Seite 8 von Volker Pohlers) reicht es nicht aus, das Betriebsarten-Register P2M (%F6) mit "0" zu belegen. Ferner muß Bit D0 im Register P3M (%F7) auf "1" gesetzt werden. Hier ein Beispiel in BASIC:
...
20 LET A=GETR(%F7) REM Lesen Registerinhalt %F7



In der letzten zitierten Zeile liegt der Hase im Pfeffer begraben. Das Register P3M (%F7) ist ein 'Schreibregister'!
Hier ist m.E. die Übersetzung im Kieser/Bankel unscharf. Schreibregister meint 'write only'.
Dort ist im Prozessor keine Logik für das Rücklesen des Registers verbaut.
D.h. der Wert, der von dieser Adresse gelesen wird, kann alles mögliche sein, entspricht aber nicht dem eigentlichen Registerinhalt.
Nachfolgende Bitoperationen und anschließendes Zurückschreiben führen dann zu unvorhorsehbaren Systemzuständen.

Neben dem P3M-Register sind im UB88xx auch die Register P01M, P2M, PRE0, PRE1 und IPR betroffen.
Wer deren Inhalt braucht, muß sich den Wert an anderer Stelle zwischenspeichern.


Es hat 'ne Weile gedauert, bis ich die Ursache für meine Fehlfunktion gefunden hatte...

Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
14.05.2022, 15:27 Uhr
Gast: Schnulli



Das ist auch auf dem Original Z8 so.

Beim TOR2 kann man sich mit Hochziehwiderständen behelfen. Siehe folgendes Beispiel:



Bei der 8fach Anzeigeplatine hat man die Möglichkeit für ein Pullup- oder Pulldown-Widerstandsnetzwerk.
Seitenanfang Seitenende
(Gast) Zitatantwort || Editieren || Löschen
002
14.05.2022, 18:28 Uhr
Bert



Die Pull-ups sind hier nicht das Problem.

Mit P3M.0 = 0 sind die Ausgänge von Port 2 open drain.
Mit P3M.0 = 1 aktiviert man die Gegentaktendstufen (push-pull).

Wobei bei high-Pegel nur mit max. 500 µA belastet werden darf.

Das Problem ist: Du darfst nicht

Quellcode:

OR P3M, #%01


verwenden, um das Bit 0 zu setzen, weil dann die restlichen Bits von P3M höchstwahrscheinlich falsch sind.

Hier der passende Auszug aus dem Kieser/Bankel (S. 108):



Grüße,
Bert
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
14.05.2022, 20:00 Uhr
volkerp
Default Group and Edit
Avatar von volkerp


Zitat:
Bert schrieb
Neben dem P3M-Register sind im UB88xx auch die Register P01M, P2M, PRE0, PRE1 und IPR betroffen.
Wer deren Inhalt braucht, muß sich den Wert an anderer Stelle zwischenspeichern.


Jupp, Bert, beim BERT wird das exakt so gemacht
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek