Hi! Im Internet habe ich ein kleines Programm gefunden für die Ansteuerung eines Displays T6963 an die LPT. Ich verstehe nicht, warum hier "PortReadB(printerport+$402);" verwendet wird. Was genau soll das bezwecken? procedure TForm1.WaitDispRdy; // Warten, bis das Display bereit ist var tmp: byte; t: TDateTime; begin if BiDirLPT THEN begin // LPT im ECP-Control-Register auf PS/2-Mode setzen // nötig, falls es ein ECP-Port ist tmp:=PortReadB(printerport+$402); tmp:=tmp AND $1F; tmp:=tmp OR $20; // Bidirektionaler Modus = PS/2 PortWriteB(printerport+$402,tmp); t:=now+(5/86400); // Begrenzt auf 5 Sekunden repeat // Auf Eingang schalten und abfragen PortWriteB(printerport+2,$20+4+2); //In, CD=1, CS=0, Wr=1 PortWriteB(printerport+2,$20+4+2+8); //In, CD=1, CS=0, Wr=1, Rd=0 tmp:=PortReadB(printerport); PortWriteB(printerport+2,$20+4+2); //In, CD=1, CS=0, Wr=1 until ((tmp AND 3)=3) OR (now>t); // Maximal 5 Sekunden warten PortWriteB(printerport+2,0); end else Delay(1); // Ohne bidirektionalen Parallelport ist Handshaking nicht möglich end;
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.