Autor |
Beitrag |
MadCyborg
Hält's aus hier
Beiträge: 14
|
Verfasst: Do 15.09.05 15:31
verwenden tue ich die io.dll.
mein problem ist, das es mein programm überhaupt nicht interessiert was ich für eine spannung an der signalleitung anlege.
ich kann zwar werte auslesen, das is dann aber einfach nur 255, oder der den ich vorher setze.
wenn ich die leitungen nach 5V und masse ziehe und neu auslese, kriege ich den selben wert wie vorher...
das komische ist, das das programm auf einem alten 486'er problemlos lief (unter win98).
Auf einem Cyrix 200 (win98) gehts nicht, auf nem p3 600 (winxp) auch nicht.
mit ecp und epp habe ich auch schon rumprobiert, gebracht hats leider nix...
da das program schonmal funktioniert hat bin ich relativ ratlos.
hat einer ne schlaue idee?
|
|
Pierre
      
Beiträge: 138
Win 98se und XP prof
D5Pers und D7Prof
|
Verfasst: Sa 17.09.05 16:08
Hallo,
Zitat: |
lpt lässt sich nicht lesen
mein problem ist, das es mein programm überhaupt nicht interessiert was ich für eine spannung an der signalleitung anlege. |
Bitte nur bis 5V Spannung anlegen!
Ab ca. 3V wird das Signal erkannt.
Zitat: | an der signalleitung anlege. |
Datenregister (PIN 2, 3, 4, 5, 6, 7, 8, 9):
Statusregister (PIN 10, 11, 12, 13, 15):
Steuerregister ( PIN 1, 14, 16, 17):
An welcher Signalleitung bist Du dran?
Zitat: | ich kann zwar werte auslesen, das is dann aber einfach nur 255 |
Du liest Register aus, keine analogen Werte.
Lese hier [url] www.delphi-roboter.de/2par.htm[/url]
Gruß Pierre
|
|
MadCyborg 
Hält's aus hier
Beiträge: 14
|
Verfasst: Sa 17.09.05 17:24
ich lege exakt 5V an (aus dem rechner-eigenen netzteil).
ich lese das datemregister aus.
wie schon gesagt, auf nem alten rechner ging alles wie es soll...
ich weis an sich was ich mache, wie das ganze in der theorie funktioniert, und was es mit dem auslesen von ports auf sich hat inklusive der verschiedenen pegel....
|
|
Pierre
      
Beiträge: 138
Win 98se und XP prof
D5Pers und D7Prof
|
Verfasst: Mo 19.09.05 19:13
Hallo,
wo legst Du das Signal an (PIN 2, 3, 4, 5, 6, 7, 8, 9)?
Gruß Pierre
|
|
MadCyborg 
Hält's aus hier
Beiträge: 14
|
Verfasst: Mo 19.09.05 22:42
getestet habe ich mit allen pins von 2-9, auch mit mehreren gleichzeitig.
ich habe auch gemessen, die pins werden tatsächlich auf die gewünschten pegel gezogen.
|
|
matze.de
      
Beiträge: 576
Win95, Win98 SE, WinXp Prof SP2
D7P, D8P, FPC2.0
|
Verfasst: Di 20.09.05 17:53
Hier nochmal mein schönes bild: www.delphi-forum.de/download.php?id=26
mfg matze
_________________ si tacuisses, philosophus mansisses.
|
|
MadCyborg 
Hält's aus hier
Beiträge: 14
|
Verfasst: Di 20.09.05 18:19
hm...das hilft mir aber nicht weiter!?
|
|
matze.de
      
Beiträge: 576
Win95, Win98 SE, WinXp Prof SP2
D7P, D8P, FPC2.0
|
Verfasst: Di 20.09.05 18:32
MadCyborg hat folgendes geschrieben: | hm...das hilft mir aber nicht weiter!? |
Poste ich nur gerne in LPT Threads, da es sehr oft Missverständnisse mit der ríchtigen Belegung gibt.
mfg matze
_________________ si tacuisses, philosophus mansisses.
|
|
MadCyborg 
Hält's aus hier
Beiträge: 14
|
Verfasst: Di 20.09.05 19:05
matze.de hat folgendes geschrieben: | MadCyborg hat folgendes geschrieben: | hm...das hilft mir aber nicht weiter!? |
Poste ich nur gerne in LPT Threads, da es sehr oft Missverständnisse mit der ríchtigen Belegung gibt.
mfg matze |
wie gesagt, leifen hard- und software schon auf nem anderen rechner...da kanns an der belegung kaum liegen.
|
|
Pierre
      
Beiträge: 138
Win 98se und XP prof
D5Pers und D7Prof
|
Verfasst: Mi 21.09.05 19:38
Hallo,
also..
Direkt auf der Adresse des LPTs liegt das Datenregister (OFFSET=0!).
Es enthält den Status der PINs 2, 3, 4, 5, 6, 7, 8 und 9.
Wenn Du z.B. auf PIN 2 der LPT ein Signal gibst und alle anderen
PINS nicht geschaltet sind (sind ja Ein- und Ausgänge!), dann und
nur dann hast Du im Datenregister den Wert 1. Ist nur PIN 2 "an",
so hast Du den Wert 2, sind PIN1 und PIN2 an, den Wert 3 usw. bis
Du den Wert 255 im Datenregister hast, wenn alle PINs an sind.
Du solltest also zuerst alle PINs ausschalten, indem Du den Wert null
ins Datenregister schreibst. Dann gibst Du ein Signal an einen PIN
2 bis 9 Deiner Wahl (zu Testzwecken kannst Du auch einen Ausgang der
LPT selbst nehmen!) und dann liest Du das Datenregister aus. Du darfst
nicht den Wert 255 bekommen, sondern einen Wert nach o.g. System.
Wenn es nicht läuft, dann lade Dir von der oben angegebenen Site
die PSpar.DLL runter, dort ist auch Beispielcode dabei, damit
solltest Du es im o.g. Sinn überprüfen können.
Gruß Pierre
|
|
|