Hi!
Eine kleine Frage: in 10.3a) wird das oberste Bit (Flanke=steigend) gesetzt, obwohl wir die Interrupts nicht benutzen. Hier müßte ein Don't Care hin, oder bezieht sich die Flanke auf mehr als IRQ (und vielleicht DMA)?
Und zu Aufgabe 10.4b): Könnte man die InterruptRoutine IN für den Empfang auch analog zu OUT machen - in Bezug auf das Flußdiagramm in L10.pdf Folie 15: Wenn der Puffer Leer ist, dann gibt man S-IR frei, und schreibt dann das Datum in den Puffer, anstatt zu schauen, ob S-IR frei ist, und falls noch gesperrt, eigenmächtig was Senden (Das ist doch OUT's Job!)
Gruss Kalle
Zu Aufgabe 10 - PIA
hallo!
zu 10.3a:
ich habe das so verstanden. Dieses oberste Bit des CR legt fest, auf welche Flanke das C1 reagieren soll. Das C1 wiederum beeinflusst ja dann das oberste Bit vom SR... und mehr auch nicht... glaube ich
Die Auswertung von dem SR7 kann ja dann entweder per Busy-Waiting (CR6=0) oder IR (CR6=1) erfolgen.
bye bye
bitNoob
zu 10.3a:
ich habe das so verstanden. Dieses oberste Bit des CR legt fest, auf welche Flanke das C1 reagieren soll. Das C1 wiederum beeinflusst ja dann das oberste Bit vom SR... und mehr auch nicht... glaube ich

Die Auswertung von dem SR7 kann ja dann entweder per Busy-Waiting (CR6=0) oder IR (CR6=1) erfolgen.
bye bye
bitNoob
-
- BASIC-Programmierer
- Beiträge: 143
- Registriert: 20. Nov 2004 16:04
Denke auch, dass bei der 10.4b es etwas komisch ist, das die E-IR Routine gleich die Daten ausgibt.
Eigentlich sollte es ja so sein.
so hattest du das auch gemeint oder?
Eigentlich sollte es ja so sein.
Code: Alles auswählen
IN:
if(noch platz im Buffer)
speichere Datum und lösche CR-Statusbit
if(S-IR gesperrt) // der Buffer war vorher leer
gib S-IR frei
else
sperre E-IR
OUT:
if (irgendwas im Buffer)
gib Datum aus und lösche CR-Statusbit
if(E-IR gesperrt) // der Buffer war Voll
gib E-IR frei
else
sperre S-IR
zu 10.3: Ja, das macht Sinn. Auch ohne Interrupt müssen wir wissen, wann wir das SR-Bit setzen sollen...
zu 10.4 Ja, im Prinzip habe ich das so gemeint - ich habe nur die Überprüfungen weggedacht ob das jeweilige Bit gesperrt ist, bevor es entsperrt wird (sparrt einen bedingten Sprung...).
So wie du es geschrieben hast, ist es auf jeden Fall symmetrischer, als in der Lösung - und mir ist halt kein Grund für die Asymmetrie bewußt...
Gruss Kalle
zu 10.4 Ja, im Prinzip habe ich das so gemeint - ich habe nur die Überprüfungen weggedacht ob das jeweilige Bit gesperrt ist, bevor es entsperrt wird (sparrt einen bedingten Sprung...).
So wie du es geschrieben hast, ist es auf jeden Fall symmetrischer, als in der Lösung - und mir ist halt kein Grund für die Asymmetrie bewußt...
Gruss Kalle
-
- BASIC-Programmierer
- Beiträge: 143
- Registriert: 20. Nov 2004 16:04