Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
sv_t
Anmeldungsdatum: 23.05.2006 Beiträge: 6
|
Verfasst am: 24.05.2006, 08:01 Titel: Ansteuerung LPT1 (mit OUT 888, x) funktioniert nicht |
|
|
Hallo,
ich möchte mit dem Befehl OUT 888, x verschiedene Bits am LPT 1 ansteuern und eine Relaiskarte betreiben.
Das funktioniert leider nicht. Mit der Software vom Hersteller funktioniert die Karte, ist also technisch alles i.O.
Der E/A-Bereich des LPT1 liegt bei 0378.
Nun wollte ich mir im QBasic 4.5 ein eigenes Programm schreiben.
Habe mehrere Varianten probiert:
Code: |
.
.
.
T = TIMER
DO
LOOP UNTIL TIMER > T + 10
OUT 888,2
T = TIMER
DO
LOOP UNTIL TIMER > T + 10
OUT 888,4
.
.
.
|
oder so:
Code: |
.
.
.
OPEN "LPT1" FOR OUTPUT AS #1
T = TIMER
DO
LOOP UNTIL TIMER > T + 10
PRINT #1, 2
CLOSE #1
.
.
.
|
Funktioniert alles nicht. Da gibt es keine Zustandsänderungen am LPT1.
Bei der Variante mit OPEN "LPT1" geht der PC fest.
Was mache ich da falsch?
Vielen Dank,
freundliche Grüße
Sven. |
|
Nach oben |
|
 |
Matze001
Anmeldungsdatum: 03.05.2006 Beiträge: 28
|
Verfasst am: 24.05.2006, 13:48 Titel: |
|
|
Ich kann dir leider net helfen, kann nur sagen das ich das PProblem auch hab... ich glaube Out 888, xyz spricht bei XP nicht mehr den LPT1 an... bei meinem 98er funzt es auch perfekt... xp hat da bestimmt ne andere Bezeichnung...wenn die jmd. weis wär ich auch glücklich
Edit: Ach ja... is es net s das die Dinge die geschehen sollen zwischen Do und Loop geschrieben werden? Weil so wie es bei dir is flachert das Lämpchen nur einen Bruchteil einer Sekunde... d.h. du siehst es net... _________________ <xyz> Es gibt ein Leben außerhalb des Internet!!
<yxz> wtf?
<yxz> link? |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 24.05.2006, 14:18 Titel: |
|
|
Unter windows XP gibt es ein anderes Problem.
Dort wird der zugriff unter QBasic mit "out" auf dem LPT (und auch COM) verweigert. Man kann aber FreeBASIC nehmen, da klappt das noch. |
|
Nach oben |
|
 |
sv_t
Anmeldungsdatum: 23.05.2006 Beiträge: 6
|
Verfasst am: 24.05.2006, 15:23 Titel: |
|
|
Auf meinem 98er-Rechner läuft das Programm auch (habe ich eben mal getestet). Scheint also doch das XP zu sein.
Ich hätte da ja auf die Firewall getippt.
Das Problem ist aber nicht so wild, da das Programm sowieso auf einem
98er Betriebssystem laufen wird und ich nur auf dem XP das Programm
geschrieben habe.
Also besten Dank und bis zum nächsten Problem.
Gruß Sven. |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 24.05.2006, 17:16 Titel: |
|
|
Zitat: | Auf meinem 98er-Rechner läuft das Programm auch (habe ich eben mal getestet). Scheint also doch das XP zu sein. |
Da gibt es eine Lösung.
Die Probleme XP und Hardware sind bekannt und es gibt Lösungen z.B. UserPort, einen Artikel darüber gibt es auf www.skilltronics.de.
Einfach etwas Runterscrollen und befolgen, dann sollte die Schnittstelle auch unter Windows XP gehen. _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
sv_t
Anmeldungsdatum: 23.05.2006 Beiträge: 6
|
Verfasst am: 26.05.2006, 11:31 Titel: |
|
|
Na besten Dank.
Habe den Link mal ausprobiert und mir die UserPort runtergeladen.
Funktioniert jetzt auch einwandfrei mit XP.
Gruß Sven. |
|
Nach oben |
|
 |
schuf
Anmeldungsdatum: 27.05.2006 Beiträge: 1
|
Verfasst am: 27.05.2006, 16:25 Titel: |
|
|
Hallo,
Habe schon lange kein Qbasic mehr programmiert, glaube mich jedoch zu erinnern, daß man zum Ansteuern von Relais mittels LPT Befehl das Zeichen ; (= Linefeed ?) hinter die zu schreibende Zahl setzen muß.
Also PRINT #1, 2 ;
Gruß,
Schuf |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 27.05.2006, 19:07 Titel: |
|
|
Nie gehört.
Ich habe seit je her out 888, x verwendet und, abgesehen von typischen XP Macken, ging es.
Dein Code Fragment kann nicht stimmen, du versuchst in eine nicht geöffnete Datei zuschreiben.
(LPT kann man auch nicht öffnen, als Print "ersatz" gibt es für den Drucker den LPrint Befehl)
; bewirkt übrigens das genau kein Zeilenumbruch ausgegeben wird. _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
|