Paralleler Port will nicht



  • oder per int 21
    MOV AH,8
    INT 21H
    (MOV VARIABLE1, AL);wenn du die gedrueckte taste noch auswerten willst



  • Nochmals Hallo
    Ich hab jetzt den "Verzögerer" eingebaut, aber es tut sich immer noch nichts. Ich messe mit einem Voltmeter zwischen Masse und Pin (bzw Loch), aber egal ob mein Programm ausgeführt(in MS DOS) wird oder nicht, kein Pin ändert seinen Zustand, auch wenn ich statt 01H 02H oder 00H schicke. Ich weiss nichtmehr, worann das noch liegen könnte.

    mfg und thx
    Noob



  • Ich hab jetzt den ganzen Schmarrn nachgestellt und es hat funktioniert 😕 (Port(378h)=01h)
    Vielleicht ist in der FAQ nicht ganz klargeworden, an welche Pins du was anschliessen musst. Hier nochmal eine Liste der Pin-Nummern + Funktion:
    1 - Strobe PC Output
    2 - Data_0 PC Output
    3 - Data_1 PC Output
    4 - Data_2 PC Output
    5 - Data_3 PC Output
    6 - Data_4 PC Output
    7 - Data_5 PC Output
    8 - Data_6 PC Output
    9 - Data_7 PC Output
    10- /ACK PC Input
    11- Busy PC Input
    12- Paper Empty PC Input
    13- Select PC Input
    14- /Autofeed PC Output
    15- /Error PC Input
    16- Init Printer PC Output
    17- /Select_Input PC Output
    18- Ground
    ...-25

    Musst also die LED-Widerstand-Konstruktion zwischen Pin 2 und 18-25 (einer von denen) klemmen.

    Sollte das dann immernoch net gehen 😕 Is das Teil im BIOS disabled?



  • Es war alles richtig angeschlossen und im BIOS ist alles soweit aktiviert. Ich hab nochmal die Adresse des Ports überprüft, 378H.
    Der einzige PC auf dem ich bis jetzt die Gelegenheit hatte das auszuprobieren war ein alter IBM Laptop, alle anderen PC´s haben Win2000 und das hat´s nicht so mit 16Bit Anwendungen.
    Ich werde morgen eine alte 900MB Platte in meinen 2. PC einbauen, Win98 installieren, im DOS Modus starten und hoffen das es was bringt. Immerhin man muss es versuchen, könnte ja sein das der Laptop ein bisschen spinnt.

    [EDIT]
    Juhuuu es funktioniert 🙂 🙂 :). Win98 Bootdisk in den 2.PC, Diskette mit dem Prog rein, ausführen und es geht perfekt. Lag wohl irgendwie am Laptop, der LPT ging aber, drucken konnte ich, LPT1 am Laptop hatte die gleichen Einstellungen wie der Desktop PC. 1000 Dank für Hilfe, und der Code zum Zeichen einlesen kommt gerade zum richtigen Zeitpunkt. Ich will nämlich ein Prog schreiben, das entweder "Loch" 2 oder 3 ein oder Ausschaltet, je nach Eingabe.

    big THX und mfg
    Noob

    P.S. Wie lese ich eigentlich Text ein? Der besteht ja aus mehreren (ASCII) Zahlen. Das geht sicher über eine Schleife oder?

    [ Dieser Beitrag wurde am 25.06.2002 um 01:36 Uhr von noob editiert. ]



  • Hallo

    Was hast du für ein Tutorial?



  • @noob:
    Schau mal in den Thread Wie lese ich eine ganze zahlenfolge ein.
    Der erste int 21h-Aufruf liest einen ganzen String von der Tastatur ein.

    @Schoetz:
    In die FAQ schauen. 😉



  • Danke für den Link, das Einlesen klappt schon richtig gut.

    mfg
    Noob



  • sau blöde frage passt eigentlich der port? soweit ich weiss ist das nicht standardisiert wo der paralelport hingemapt wird. bei manschen systemen kann der ganz wo anders liegen. ( compaq is so ein schlawiener, und bei laptops kann ich mir das auch gut vorstellen )

    auserdem sowie ich das mitgekrigt hab bastelst du auf nen laptop. kann gut möglich sein, das hier die hw ein bischen anders aussieht und nicht ganz standard konform ist .

    gruss termite



  • Original erstellt von Termite:
    **sau blöde frage passt eigentlich der port? soweit ich weiss ist das nicht standardisiert wo der paralelport hingemapt wird. bei manschen systemen kann der ganz wo anders liegen. ( compaq is so ein schlawiener, und bei laptops kann ich mir das auch gut vorstellen )

    auserdem sowie ich das mitgekrigt hab bastelst du auf nen laptop. kann gut möglich sein, das hier die hw ein bischen anders aussieht und nicht ganz standard konform ist .

    gruss termite**

    Ui....Der neue Drucker XXXX jetzt mit 5 Druckerkabeln, damit auch IHR Computer passt 😉 Nene....welcher Anschluss wo liegt ist schon genormt, sonst wäre das echt lustig biem Kabelkauf



  • das war ja auch nicht gemeint. das die an der pinbelegung drehen. nur wo der paralelport jetzt z.b mit seinen 3 ports in dem Adressraum ligt ist nicht festgelegt ( hat ibm damals verschlafen ) auch weichen gerade bei laptops manche hersteller von den spezifikationen ab. bzw sind gerade noch so drin. ( belastbarkeits der pins, pegelspannungen, ...)

    z.b. gibts an laptops serielle schnitstellen, an die du nicht alles anslschlissen kanst, da der signalpegel zu gering für diese geräthe ist. (+3 bis +12 Volt sind als low definiert. der laptop gibt nur 5 Volt als pegel aus. das angeschlossene geräht will aber gerne +6 Volt haben und schon tuts nich mehr)

    gruss termite



  • Oh...na dann wirds wirklich problematisch bie elektronik hinter dem Port...soviel zum Thema standariesierung also 😕



  • Die Adresse des LPTs hab ich jedesmal richtig angegeben, aber er hatte nach jedem start eine andere (entweder 0x378 oder 0x3BC, wechselten immer ab).
    An der seriellen Schnittstelle könnte ich vom Signalpegel schon eine TTL Logik direkt anschliessen, 4,7 Volt als High. IBM hat´s nicht so mit Standards denke ich mal.

    Aber ich muss auch schon wieder nervern:
    Die ASCII Zahlenfolge einlesen geht ja, nur Ausgeben lässt sie sich nicht. Ich seh nur Sonderzeichen und sonstigen ASCII Schrott, aber kein Buchstabe von meinem Text. Könnte es daran liegen, dass der eingelesene String nicht terminiert ist?

    mfg
    Noob



  • Das kann viele Gruende haben... Int 21h,0Ah terminiert eingelesene Strings eigentlich nicht. (Ausser vielleicht mit 0Dh, wegen der gedrueckten Enter-Taste)


Anmelden zum Antworten