Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

LTP

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Paddi9978



Anmeldungsdatum: 17.02.2008
Beiträge: 6

BeitragVerfasst am: 17.02.2008, 18:09    Titel: LTP Antworten mit Zitat

Hi,
ich bin ein qbasic anfänger und meiner frage ist wie ich eine LED die ich am LTP1 an D0 und masse angebracht habe an und aus machen kann
(ist es normal das die Led schon leutet bevor ich irgendetwas eingetippt habe?)
Danke schon mal im vorraus lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stephan



Anmeldungsdatum: 05.10.2004
Beiträge: 358
Wohnort: Hessen - 20km Nördlich von Frankfurt am Main

BeitragVerfasst am: 17.02.2008, 18:56    Titel: Antworten mit Zitat

Zuerstmal,das teil Heisst LPT und nicht LTP.
( http://de.wikipedia.org/wiki/LPT )

Das an der Signalleitung schon ein Signal anliegt,müsste normal sein,
aber was mir viel mehr gedanken macht,ist,das deine LED Leutet.
Hast du vielleicht einen Vorwiderstand vergessen,
und sie macht deshalb irgend welche Geräusche.

Zur Ansteuerung,das klappt wohl am besten mit OUT,
dazu suchst du am besten mal im QBasic Kochbuch,
dort ist das sicher erklärt.
_________________
'Wir schätzen die Zeit erst, wenn uns nicht mehr viel davon geblieben ist.'
Leo Tolstoi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1837
Wohnort: [JN58JR]

BeitragVerfasst am: 18.02.2008, 11:56    Titel: Antworten mit Zitat

Stephan hat Folgendes geschrieben:
Das an der Signalleitung schon ein Signal anliegt,müsste normal sein,...

Ist Normal, ... allerdings liegt es daran, weil der LPT-Port im Lesebetrieb und dadurch eine art PullUp aktiv ist.

Stephan hat Folgendes geschrieben:
aber was mir viel mehr gedanken macht,ist,das deine LED Leutet.
Hast du vielleicht einen Vorwiderstand vergessen,
und sie macht deshalb irgend welche Geräusche.
LOL ...

Wie oben schon geschrieben, is es normal das die LED Leuchtet. Ein Vorwiderstand empfehle ich dennoch, da du sonst den LPT-Port kaput machst! .. Alternativ kannst du einen ULN2803 An den LPT-Port klemmen. (Empfehle ich auch dringendst). Das ist eine Art Signaltreiber, der 8 "Quasi" Schalter enthält und dadurch deinen Port schützt.

Stephan hat Folgendes geschrieben:
Zur Ansteuerung,das klappt wohl am besten mit OUT,
dazu suchst du am besten mal im QBasic Kochbuch,
dort ist das sicher erklärt.

Kenn ich nicht, aber wenns OUT in QBasic gibt, dann kann ich dir mal folgendes Empfehlen:


Hier mal n Auszug aus meinem LPT mit FreeBasic Tutorial, das noch nicht online is:

Zitat:
Zuerst einmal ist zu wissen, das der Parallelport 3 Byte-Variablen nutzt, mit
denen es möglicht ist "Bidirektionale" Kommunikation zu gewährleisten.

Dabei ist die sogenannte "Basisadresse" (BA) die erste Variable. Die beiden
anderen sind jeweils BA + 1 und BA + 2.

Die erste Information die wir benötigen ist also die Basisadresse des
Drucker-Ports (LPT).

Ein Windows-Benutzer kann die Basisadresse über die Systemsteuerung auslesen:
Start -> Einstellungen -> Systemsteuerung -> System -> Gerätemanager
Dort wählt man Ein/Ausgabegeräte und weiter den "LPT" oder "Druckerport"
Anschliessend wählt man den Reiter "IO" oder "Speicherbereich". Dort findet
sich eine kleine liste mit Adressräumen. In unserem Fall benötigen wir den
ersten Adressraum, welcher mit "0378 - 037a".

Unter Linux kann der Adressraum mit dem Befehl: "cat /proc/ioports | grep
parport" erfasst werden. Eine Solche Ausgabe sieht dann beispielsweise so aus:
Zitat:
tpm@Workboard-0:~$ cat /proc/ioports | grep parport
0378-037a : parport0
tpm@Workboard-0:~$


Die Werte der Adressräume sind HEXADEZIMAL, und müssen für unsere Nutzung in FB
in Dezimalwerte umgewandelt werden. Das kann sowohl unter Linux als auch unter
Windows mit einem Taschenrechner-Programm erfoglen.

0378 (hex) wäre dann 888 (dezimal).

888 ist unsere BA (Basisadresse) und damit die erste Variable welche wir
nutzen.


Nun zur verwendung unserer 3 Variablen.
BA + 0 = 8 Bit - Bidirektionaler Datenport. (Hier können Informationen Ein und
Ausgegeben werden.)

BA + 1 = Status-Register. Hier können Daten nur eingegeben werden (In den PC)

BA + 2 = Steuer-Register. Hier können Daten nur ausgegeben werden (Aus den PC
heraus)


Wichtig ist hierbei zu wissen, das man nicht einfach Daten auf dem 8Bit Port
ausgeben kann.
Um das mal Logisch zu verarbeiten: Gehen wir einmal davon aus, wir
dimensionieren eine UByte Variable. Im ersten Schritt schreiben wir den Wert
255 in diese Variable. Anschliessend Lesen wir die Variable aus, und erhalten
255. Das könnte man mit der Ausgabe von Daten vergleichen.

Nun möchten wir allerdings einen Wert vom Port einlesen. Hierzu liegt an Signal
am PC an. Damit wir den Wert erhalten, müssen wir nur den aktuellen Wert der
Variable ausgeben. Und schon haben wir ein Problem, denn was wir jetzt von der
Variable erhalten ist das, was wir ausgegeben haben.

Um dieses Problem zu lösen gibt es 2 Möglichkeiten. Die erste wäre, man Nutzt
die Steuer udn Statusleitungen des Ports, welche expliziet nur für Daten ein
udn Ausgabe konzipoert wurden, oder man sagt dem Port, in welche Richtung wir
arbeiten möchten. Hierzu gibt es ein Bit im Steuerregister (BA + 2), das
definiert, was mit dem 8Bit-Port passieren soll.

Das Bit ist das 5te Bit in BA + 2.

Möchten wir Daten ausgeben, z.B. mit
Code:
Out 888, 255


Müssen wir zuerst dem Port (einmalig) mitteilen, das wir dies tun möchten.
Das Machen wir, indem wir im Steuerregister das 5te Bit ausschalten.
Code:
Out 888 + 2, Inp(888 + 2) And Not 32


Anders Geschrieben:
Code:
Dim T as UByte
T = Inp(888 + 2)
T = T And Not 32
Out 888 + 2, T


Zuerst müssen wir einlesen was in BA + 2 steht. Dann löschen wir das 5te Bit
mit einer Maskierten Invertierung "And not 32" (32 = 5tes Bit) und schreiben
den neuen Wert in die BA + 2 zurück.

Jetzt können wir Daten auf dem Port ausgeben, was dann so aussehen würde:
Code:
Out 888 + 2, Inp(888 + 2) And Not 32
Do
    Sleep 1000
    Out 888, 255
    Sleep 1000
    Out 888, 0
Loop until InKey() = Chr(27)




Der Umgedrehte fall sähe dann so aus; Wir möchten Daten einlesen. Hierzu müssen
wir das 5te Bit setzen udn dem Port damit mitteilen, das nun Daten ingelesen
werden sollen.
Code:
Out 888 + 2, Inp(888 + 2) Or 32


Anschliessend können wir den Wert in BA auslesen, und ausgeben.
Code:
Out 888 + 2, Inp(888 + 2) Or 32
Do
    Sleep 1000
    Print Ino(888)
Loop until InKey() = Chr(27)



Konvertierung nach QB sollte einfach sein.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Paddi9978



Anmeldungsdatum: 17.02.2008
Beiträge: 6

BeitragVerfasst am: 18.02.2008, 19:48    Titel: Antworten mit Zitat

ok danke habs mal durchgelesen...
kann mir einer mal en code reinschreiben womit man die led ausmachen kann plz zwinkern lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1837
Wohnort: [JN58JR]

BeitragVerfasst am: 18.02.2008, 22:23    Titel: Antworten mit Zitat

Wenn du das durchgelesen hast, solltest du das selber können. Schliesslich sidn auch beispiele vorhanden.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Paddi9978



Anmeldungsdatum: 17.02.2008
Beiträge: 6

BeitragVerfasst am: 19.02.2008, 17:48    Titel: Antworten mit Zitat

joa hab alle ausprobiert und da passiert leider nix liegt des villt daran das ich qbasic auf xp laufen lass?
lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1837
Wohnort: [JN58JR]

BeitragVerfasst am: 19.02.2008, 22:29    Titel: Antworten mit Zitat

Ja .. das liegt daran .. unter XP brauchst du einen Treiber, da geht das einfach so nicht .. z.B. IOsys.dll oder sowas ... must dich mal in google durchwälzen, gibts genug ..


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Paddi9978



Anmeldungsdatum: 17.02.2008
Beiträge: 6

BeitragVerfasst am: 19.02.2008, 22:43    Titel: Antworten mit Zitat

Ja hast recht ich habs mit fb nun gemacht und einfach eine led mit Vorwiderstand an ein D (D0 -D7) und an masse
ich habs simpel gehalten^^:

Code:
Do
    Sleep 250
    Out 888, 255 ' 255 = es blinken alle^^
    Sleep 250
    Out 888, 0   
   
Loop Until Inkey$ = "s"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 19.02.2008, 23:07    Titel: Antworten mit Zitat

Zum Thema serielle / parallele Schnittstelle unter Windows XP, siehe auch hier.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Paddi9978



Anmeldungsdatum: 17.02.2008
Beiträge: 6

BeitragVerfasst am: 20.02.2008, 19:21    Titel: Antworten mit Zitat

Wie kann man nun auslesen zwischen einem D und masse strom anliegt... naj irgendwas mit inp() aber bei mir kommt z.B bei inp(889) immer 120 raus egal ob was anliegt
help lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Paddi9978



Anmeldungsdatum: 17.02.2008
Beiträge: 6

BeitragVerfasst am: 20.02.2008, 22:22    Titel: Antworten mit Zitat

hmm nee Kopf schütteln also ich meinte wie man den input wert von zb Pin 10 heraus bekommt
thx zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1837
Wohnort: [JN58JR]

BeitragVerfasst am: 21.02.2008, 00:08    Titel: Antworten mit Zitat

also .. wie schon geschrieben, ist 888 BA ... 889 BA+1 890 BA+2 ... Die Datenleitungen (8Bit) sind auf BA .. statusleitungen auf BA+1 und Steuerleitungen auf BA+2

folglich musst du zum lesen der 8Bit ports BA nutzen ... davor natürlich die leseeinstllung mi steuerregister setzen (erinnerung an 32)

Zum ausmaskieren kannst du:
Code:

If (WertGelesen and WelchesBit) = WelchesBit Then
   'bit gesetzt
else
   'bit nicht gesetzt
End If

nutzen


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 21.02.2008, 15:48    Titel: Antworten mit Zitat

Hallo Paddi,

hast Du es schon einmal mit der seriellen Schnittstelle, also dem COM-Port versucht? Wenn Dir drei Aus- und vier Eingänge fürs Erste reichen, würde ich Dir raten, damit zu experimentieren. Schon deshalb, weil der durch Kurzschluss oder LEDs ohne Vorwiderstand praktisch nicht kaputt zu bekommen ist. Ausserdem habe ich die Erfahrung gemacht, dass das Ansprechen des COM-Ports unter XP weniger bzw. bei mir selbst keine Probleme macht. Auf meiner Homepage (siehe Signatur) habe ich auch zwei kleine Tutorials zur seriellen Schnittstelle und wie man deren Ausgänge schaltet bzw. die Eingänge liest. Ebenfalls zu empfehlen ist die Seite www.franksteinberg.de mit vielen Erklärungen und Bastelvorschlägen.

Gruß
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1837
Wohnort: [JN58JR]

BeitragVerfasst am: 21.02.2008, 18:42    Titel: Antworten mit Zitat

Hier sollte aber erwähnt werden, das der COM-Port -12V für LOW und +12V für HIGH nutzt!


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 21.02.2008, 21:43    Titel: Antworten mit Zitat

ThePuppetMaster hat Folgendes geschrieben:
Hier sollte aber erwähnt werden, das der COM-Port -12V für LOW und +12V für HIGH nutzt!


Nun ja, man könnte wohl noch so Einiges erwähnen. Aber warum, wenn auf den beiden Seiten, auf die ich hingewiesen habe, dies alles erklärt wird und es für den Betrieb von Leuchtdioden relativ egal ist, ob +5/0 oder +12/-12 Volt anliegen?

Gruß
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Eisbaer



Anmeldungsdatum: 16.10.2004
Beiträge: 354
Wohnort: Deutschland,Bayern

BeitragVerfasst am: 24.02.2008, 15:49    Titel: Antworten mit Zitat

Skilltronic hat Folgendes geschrieben:
ThePuppetMaster hat Folgendes geschrieben:
Hier sollte aber erwähnt werden, das der COM-Port -12V für LOW und +12V für HIGH nutzt!


Nun ja, man könnte wohl noch so Einiges erwähnen. Aber warum, wenn auf den beiden Seiten, auf die ich hingewiesen habe, dies alles erklärt wird und es für den Betrieb von Leuchtdioden relativ egal ist, ob +5/0 oder +12/-12 Volt anliegen?

Gruß
Skilltronic



Naja ohne Vorwiederstand ist das nicht so Egal.. happy

Oder es könnten ja noch Ideen dabei rauskommen Spulen drannzuhängen ( 12V Relais) Und wenn dann keine Freilaufdiode zum Einsatz kommt, könnte das ernsthafte Bauteilprobleme des Motherboards nach sich ziehen...

Evt. sollten Personen die Schaltungen am Ports des PCs Durchführen wollen sich einige Grundlagen der Elektrotechnik aneignen.
_________________
Eigene Webseite:
http://www.eisbaer-studios.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 24.02.2008, 16:15    Titel: Antworten mit Zitat

Eisbaer hat Folgendes geschrieben:
Naja ohne Vorwiederstand ist das nicht so Egal.. happy


An der Druckerschnittstelle, wurde ja schon erwähnt. Mir ging es um eine LED am COM-Port, und dass es der egal ist, ob das Signal uni- oder bipolar ist.

Eisbaer hat Folgendes geschrieben:
Evt. sollten Personen die Schaltungen am Ports des PCs Durchführen wollen sich einige Grundlagen der Elektrotechnik aneignen.


Und am Anfang die serielle Schnittstelle benutzen, weil dort die Ein- und Ausgänge durch eingebaute Vorwiderstände relativ gut vor Beschädigung von außen geschützt sind. zwinkern

Gruß
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1837
Wohnort: [JN58JR]

BeitragVerfasst am: 24.02.2008, 18:08    Titel: Antworten mit Zitat

Skilltronic hat Folgendes geschrieben:
Und am Anfang die serielle Schnittstelle benutzen, weil dort die Ein- und Ausgänge durch eingebaute Vorwiderstände relativ gut vor Beschädigung von außen geschützt sind. zwinkern
Genau! ... relativ ... wenn du wüstest, wie viele User es schaffen PORTS am Computer zu zerlegen, dann solltest wissen, das jede Info und jeder Schutz angebracht ist. ... Schutzschaltungen gibt es ja nicht grundlos.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 24.02.2008, 19:21    Titel: Antworten mit Zitat

ThePuppetMaster hat Folgendes geschrieben:
... wenn du wüstest, wie viele User es schaffen PORTS am Computer zu zerlegen, dann solltest wissen, das jede Info und jeder Schutz angebracht ist. ...


Deine Vorsicht in allen Ehren und die Info mit dem Vorwiderstand beim Benutzen des LPT ist natürlich wichtig und richtig, aber wurde doch schon mehrfach gegeben. Ich finde eben, dass nicht immer jeder Schutz angebracht ist, sondern immer nur der notwendige. Und wenn es darum geht, an der seriellen Schnittstelle eine LED zum Leuchten zu bringen, ist ein Vorwiderstand nun mal nicht nötig.



Kennst du denn User, die es geschafft haben, ihre COM-PORTS am Computer zu zerlegen und wie sie das geschafft haben? Würde mich sehr interessieren. Ich habe das noch nicht hinbekommen, obwohl ich schon sehr oft recht grob mit ihnen umgegangen bin. Deshalb ja auch mein Rat, den COM statt des LPT für erste Experiment zu nutzen. Wie du auch, will ich doch nur, dass Paddi9978 sich nichts am Rechner kaputt macht. Beim LPT besteht auch mit Vorwiderständen immer die Gefahr, dass man beim Basteln an der Schaltung z.B. direkt am Stecker irgendwie einen Kurzschluss produziert und die Schnittstelle beschädigt. So etwas macht dem COM nichts aus.

Gruß
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1837
Wohnort: [JN58JR]

BeitragVerfasst am: 24.02.2008, 19:28    Titel: Antworten mit Zitat

Nein .. den User kenn ich nciht .. das war damals in meiner Ausbilung .. da haben wir äffters PC's mit all möglichen Hardwareschäden bekommen .. die schaffen einfahc alles kaput zu kriegen .. ka, wie die das machen.

gugstu du hier: www.dau-alarm.de ... bestes beispiel von solchen DAUs


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz