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
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!
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
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.Zitat von Michael 123
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)
wirdCode: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
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
Hi
danke für die schnellen Antworten. Aber nun folgendes Problem: Ich haben das Programm nun so Programiert (unter Dos):
aber der schaltet nur ausgang 1 ein und beim nächsten wieder aus!Code:CLS FOR I = 1 TO 7 OUT 888, 2 ^ I PRINT I SLEEP 5 NEXT END
die anderen bleiben an und leuchtn!
mfg
Michael
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 ::.
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
mhh keine ahnung aber schreib mal next i
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
Lesezeichen