M
Markus Bauer
Guest
Guten Abend,
Bin nun drangegangen, mittels DOS Programm und Interrupts mein Vorhaben,
einen Drucker zu simulieren, zu verwirklichen. Leider hab ich im Moment
nicht viel Zeit.
Nachdem der Interrupt jedoch getriggert wurde, wenn ich manuell ACK mit
einem Datenpin (HIGH) verbunden habe, jedoch nicht, wenn ich von einem
andren PC aus draufdrucken wollte (obwohl es auf den Nadeldrucker ging) bin
ich es von vorn angegangen und habe gemerkt, dass ERROR BUSY und Co gesetzt
ist.
Nachdem ich diese Pins auch 100%ig softwaremässig auf den richtigen Wert
gesetzt habe, habe ich nun ein simples Testprogramm geschrieben, bei dem
ich die einzelnen Pins verändern kann und das dann den Status anzeigt.
Dabei haben alle Pins genau den umgekehrten Wert.
Zum Beispiel liegen an Pin 1 (STROBE) 0 Volt an, wenn zugleich im Programm
folgende Bedingung erfüllt ist:
if(inportb(0x378+2) & 0x01) bzw umgekehrt, wenn sie nicht erfüllt ist,
liegen 5 Volt an.
Natürlich ist STROBE invertiert, aber wird das durch Hardware gemacht?
Wenn ja, wie verhält es sich dann bei einem neuen Parallelport mit ECP/EPP?
Testen tu ich das ganze nämlich auf einem uralten 486er Notebook, zum
Einsatz soll das Programm dann aber auf nem Aver 660 LMi (also sehr neu)
kommen.
Kann ich da dann Probleme erwarten oder sollte sich das Programm auf beiden
PCs gleich verhalten?
Und: Weil ich so paranoid bin und Angst habe, ich könnte den LPT meines
neuen Notebooks kaputt machen, teste ich das ganze auf 2 alten PCs. Ist
diese Angst berechtigt oder kann ich "sorgenlos" direkt auf dem Acer
testen? Auch, wenn ich z.B. (im schlimmsten Fall) das Kabel verkehrt
belege? (Bis jetzt sind solche Kleinigkeiten schon passiert, beide Parports
scheinen aber noch zu gehen).
Und: Reicht ein STROBE Impuls (1us min.?) jetzt definitiv aus, um auf der
ACK Leitung eines andren PCs einen Interrupt auszulösen? Von was hängt das
ab? Falls es nämlich nicht sicher ist, könnte ich gleich, ohne mehr Arbeit
in Versuche zu investieren, mein Vorhaben abbrechen.
thx, mc
Bin nun drangegangen, mittels DOS Programm und Interrupts mein Vorhaben,
einen Drucker zu simulieren, zu verwirklichen. Leider hab ich im Moment
nicht viel Zeit.
Nachdem der Interrupt jedoch getriggert wurde, wenn ich manuell ACK mit
einem Datenpin (HIGH) verbunden habe, jedoch nicht, wenn ich von einem
andren PC aus draufdrucken wollte (obwohl es auf den Nadeldrucker ging) bin
ich es von vorn angegangen und habe gemerkt, dass ERROR BUSY und Co gesetzt
ist.
Nachdem ich diese Pins auch 100%ig softwaremässig auf den richtigen Wert
gesetzt habe, habe ich nun ein simples Testprogramm geschrieben, bei dem
ich die einzelnen Pins verändern kann und das dann den Status anzeigt.
Dabei haben alle Pins genau den umgekehrten Wert.
Zum Beispiel liegen an Pin 1 (STROBE) 0 Volt an, wenn zugleich im Programm
folgende Bedingung erfüllt ist:
if(inportb(0x378+2) & 0x01) bzw umgekehrt, wenn sie nicht erfüllt ist,
liegen 5 Volt an.
Natürlich ist STROBE invertiert, aber wird das durch Hardware gemacht?
Wenn ja, wie verhält es sich dann bei einem neuen Parallelport mit ECP/EPP?
Testen tu ich das ganze nämlich auf einem uralten 486er Notebook, zum
Einsatz soll das Programm dann aber auf nem Aver 660 LMi (also sehr neu)
kommen.
Kann ich da dann Probleme erwarten oder sollte sich das Programm auf beiden
PCs gleich verhalten?
Und: Weil ich so paranoid bin und Angst habe, ich könnte den LPT meines
neuen Notebooks kaputt machen, teste ich das ganze auf 2 alten PCs. Ist
diese Angst berechtigt oder kann ich "sorgenlos" direkt auf dem Acer
testen? Auch, wenn ich z.B. (im schlimmsten Fall) das Kabel verkehrt
belege? (Bis jetzt sind solche Kleinigkeiten schon passiert, beide Parports
scheinen aber noch zu gehen).
Und: Reicht ein STROBE Impuls (1us min.?) jetzt definitiv aus, um auf der
ACK Leitung eines andren PCs einen Interrupt auszulösen? Von was hängt das
ab? Falls es nämlich nicht sicher ist, könnte ich gleich, ohne mehr Arbeit
in Versuche zu investieren, mein Vorhaben abbrechen.
thx, mc