-         

Ergebnis 1 bis 9 von 9

Thema: LPT Port unter QBasic

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    11.03.2005
    Ort
    Kissing bei Augsburg
    Alter
    27
    Beiträge
    443

    LPT Port unter QBasic

    Anzeige

    Hi

    ich versuche schon seit einigen Stunden den Druckerport über QBasic anzusteuern. Ich habe mir ein LED-Karte gebaut und möcht diese nun ansteuern. Sobald ich den Stecker in den LPT 1 Port stecke leuchten alle LED's und ich kann sie nicht ansteuern in QBasic.
    Das Programm sieht so aus:

    CLS ................... 'Löscht den Bildschirm
    For I = 1 TO 7.......'Schleife für den Ausgang
    OUT 378, I^2........' " (378 Ist mein LPT Port)
    NEXT....................'Ende der Schleife
    END......................'Beendet das Programm

    Beim LPT1 Anschluss verwende ich folgende Anschlüsse: Als Ausgang: 2,3,4,5,6,7,8,9 und als Masse: 19

    für schnelle Hilfe Dankbar

    PS:Nicht wundern über die Punkte zwischen den Befehlen und den Komentaren ging nicht anders!

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    16.11.2004
    Beiträge
    68
    378 ist die hexadezimale Adresse des Parallelports. Mit dezimalen 888 klappt es sehr gut bei mir. Außerdem sollte die Schleife zu schnell sein, als dass Du es wirklich blinken sehen könntest.

    Gruß,

    jörn

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255

    Re: LPT Port unter QBasic

    Zitat Zitat von Michael 123
    PS:Nicht wundern über die Punkte zwischen den Befehlen und den Komentaren ging nicht anders!
    für sowas gibts hier im forum die option, den text als programmcode zu markieren, dann passt die darstellung. dazu klickst du bei der eingange auf den button "code", kopierst den text rein und dann ochmal auf den button.
    dann wird der programmtext von [.code] und [./code] (die punkte wegdenken!) eingerahmt, und später siehts dann so aus:

    aus [.code] programmtext
    eingerückter text
    noch weiter eingerückt [./code]
    (man merkt, dass die lerzeichen am zeilenanfang automatisch entfernt werden)

    wird
    Code:
     programmtext
         eingerückter text
              noch weiter eingerückt

    das ganze lässt sich auch nutzen um schnell mal nen schaltplan zu machen:


    Code:
                                        VCC
                                         +
                                         |
                                         V ->
                                         -
                                         |
                                         |
                                        .-.
                                        | |
                                        | |
                                        '-'
                                         |
                                         |
                                       | o
                                     |=|>
                                       | o
                                         |
                                         |
                                        ===
                                        GND

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.02.2005
    Ort
    Köln
    Beiträge
    132
    Hallo

    Wie schon gesagt wurde, ist 378 die hexadezimale Schreibweise der Dezimalzahl 888. Du kannst in QBasic beides verwenden, musst aber bei den Hex-Zahlen &H davorsetzen. Also z.B. OUT &H378, x oder eben OUT 888, x

    Dann solltest du noch 2^I schreiben statt I^2 um die Leitungen nacheinander einzeln einzuschalten. Die 8 Kanäle liegen ja auf den 8 Bit des Registers und haben damit folglich den Stellenwert der entsprechenden Zweierpotenzen.

    Unter WinNT/XP lässt sich die parallele Schnittstelle nicht mehr so ohne Weiteres von einem DOS-Programm wie BASIC ansprechen. Da brauchst du wahrscheinlich noch ein entsprechendes Tool. Geht aber alles.

    Gruss
    Skilltronic

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    11.03.2005
    Ort
    Kissing bei Augsburg
    Alter
    27
    Beiträge
    443
    Hi

    danke für die schnellen Antworten. Aber nun folgendes Problem: Ich haben das Programm nun so Programiert (unter Dos):

    Code:
    CLS
    FOR I = 1 TO 7
    OUT 888, 2 ^ I
    PRINT I
    SLEEP 5
    NEXT
    END
    aber der schaltet nur ausgang 1 ein und beim nächsten wieder aus!
    die anderen bleiben an und leuchtn!

    mfg

    Michael

  6. #6
    ich würd für I bei 0 anfangen...
    was auch schön ist: einfach zufallszahlen von 0-255 auf den Port mit kleiner zeitverzögerung legen!
    889 ist übrigends dein input-port und 890 dein command-port, wenn ich mich nicht irre!
    mfg
    .:: rot ist blau und plus ist minus ::.

  7. #7

    Alternative zu QBasic

    Hallo Michael,
    bin durch Zufall auf deinen Beitrag gestossen. Programmiere auch gerne Steurungen über LPT oder RS232. Als Alternative zu QBasic kann ich dir PureBasic empfehlen (fairer Preis). Läuft unter Windows und Linux, mit DLL`s Zugriff auf alle Ports, auch unter XP. Kleine Umstellung im Programmierstil ist notwendig, aber einfach zu erlernen. Steuere z.B. mit etwas Hardware 32 Eingänge und 32 Ausgänge über LPT per Mausklick.
    Demo-Download:
    www.purebasic.com
    MfG LeFaJe

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    28.05.2005
    Ort
    Karlsruhe
    Beiträge
    45
    mhh keine ahnung aber schreib mal next i

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    11.03.2005
    Ort
    Kissing bei Augsburg
    Alter
    27
    Beiträge
    443
    Hi

    habe das Problem gelöst wollte den LPT Port unter XP ansteuern habe dan im I-net gesucht und eine Free dos Version gefunden mit der auch in Dos QBASIC progen kann und es hat geklappt

    MFG MICHAEL
    Besuch mal meine HP: www.highcurrent.de

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •