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:

Parallelport-Eingänge intern HIGH setzen?

 
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
crucido



Anmeldungsdatum: 13.01.2006
Beiträge: 16
Wohnort: Mittelhessen

BeitragVerfasst am: 14.01.2006, 00:07    Titel: Parallelport-Eingänge intern HIGH setzen? Antworten mit Zitat

Hallo liebe Basicfreunde.
Meine Frage an alle Bastler externer Schaltungen am PP:
Kann man die 5 Eingänge intern High setzen? Meine Problom ist, dass ich, wie bei Frank Steinberg gesehen, die Eingänge auf Masse (low) lege, um sie zu schalten. Beim PC klappts prima, nur mein alter Läppi hat die Eingänge nicht alle intern high. Nur Ackn. Jetzt könnt ich natürlich über Widerstände die 5V vom Strobe oder so auf die Eingänge ziehen. Würde ich aber gern vermeiden. Geht das?

Gruß,
Cruz
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Skilltronic



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

BeitragVerfasst am: 14.01.2006, 12:50    Titel: Antworten mit Zitat

Hallo

Ich denke da kann man nichts machen, das hängt von der Hardware ab. Wahrscheinlich hat der PC TTL-Eingänge (ligen unbeschaltet auf high) während im Laptop energiesparende CMOS-Bausteine verwendet werden. Bei denen musst du die Eingänge mit einem externen pull-up Widerstand auf 5V "hochziehen".

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



Anmeldungsdatum: 13.01.2006
Beiträge: 16
Wohnort: Mittelhessen

BeitragVerfasst am: 14.01.2006, 18:00    Titel: Antworten mit Zitat

Danke für die schnelle Antwort.
Hmmm.
Das hatte ich befürchtet. Pull-Up Widerstände. Ist das so wie hier?:

So hätte ichs jetzt versucht.
Coole Homepage übrigens....
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 14.01.2006, 19:44    Titel: Antworten mit Zitat

Da machen mir die 330 Ohm Widerstände und die Led mehr sorgen ...
http://www.franksteinberg.de/progss.htm hat Folgendes geschrieben:
...
Ströme:
Ein Warnhinweis vorweg: Die Datenausgänge (Pins 2 - 9) bitte NICHT direkt mit Masse verbinden, die Schnittstelle kann dadurch beschädigt werden. Damit sind wir auch schon bei den Unterschieden zwischen Daten- und Steuerausgängen: Die Steuerausgänge sind hochohmig und können deshalb keine hohen Ströme liefern. Selbst für Geringstverbraucher reichen die entnehmbaren Ströme (ca. 0,5 mA) nicht aus. Die Datenausgänge können dagegen ca. 2 mA liefern, bevor die Spannung auf Werte unter 2,5 V zusammenbricht. Die Datenausgänge können damit eine Low-Current-LED zum Leuchten bringen (Vorwiderstand ca. 2,2 kOhm), bei den Steuerausgängen ist selbst das Illusion. Was können die Steuerausgänge überhaupt? Na, steuern; z.B. die Eingänge von A/D Wandlern oder sonstigen Digitalschaltungen.

Zu allen Werten beim Parallelport gilt: Die Unterschiede sind groß; die Werte können im individuellen Fall nach oben und unten abweichen.

Zurück zum Inhalt
...

Betrefflich Strobe als "Stromquelle"
Betrefflich LED an D1 bis D7
Beides ist also recht kritisch,
Strobe bringt eventuell den Strom nicht um die Einänge auf High zuziehen,
und D1 bis D7 können aufgrund des hohen Stromes beschädigt werden.
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
crucido



Anmeldungsdatum: 13.01.2006
Beiträge: 16
Wohnort: Mittelhessen

BeitragVerfasst am: 14.01.2006, 22:18    Titel: Antworten mit Zitat

Jo, hab ich gesehen. Und im Tutorial von Klaus Schreiber
(http://www.o-bizz.de/qbtuts/parport/index.htm) steht: "Die Leitungen (D0 bis D7) sind kurzschlussfest". Überhaupt schreibt jeder über diese Leitungen was anderes. Ich kann da nur sagen: Versuch macht kluch! grinsen Kurzschließen wollte ich sie zwar nicht, aber 10 mA für ne LED sind kein Problem. Habe ich schon an diversen alten und neuen Lpt´s getestet (und findet man auch oft im www).
Übrigens: Die Lösung der Eingangsfrage war das Verbinden von Pin 16 über 5,6 K Widerstände mit den 5 Eingängen. 100 K war zuviel. Das macht dann bei Verbindung mit Masse einen Strom von 0.9 mA. Bei mir klappts. Keine Garantie zwinkern

Gruß,
Crucido
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 15.01.2006, 07:57    Titel: Antworten mit Zitat

Mensch, ich mach mir das Leben mit diesen Schnittstellen in Zukunft einfach ...
Wenn die Technischen Daten so fest stehen wie ein Blatt im Wind, verwende ich in Zukunft einfach Treiberstuffen mit universallen Eingangswerten und berechenbaren Ausgangs Werten durchgeknallt.

Ehrlich gesagt hatte ich noch schlimmere Schaltungen an LPT als die hier Vorgestellten und kaput gegangen ist noch nie was (Glück gehabt).
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
crucido



Anmeldungsdatum: 13.01.2006
Beiträge: 16
Wohnort: Mittelhessen

BeitragVerfasst am: 15.01.2006, 11:54    Titel: Antworten mit Zitat

Siehst du. Alles halb so wild. Wenn man einen Bastel-PC hat, braucht man keine Datenblätter. Ich hab ja parallel zu den LEDs auch noch den ULN 2803 hängen. Das hat den Vorteil, dass das Interface selbst keine Stromversorgung braucht. Das leuchtet auch so. Und größere Lasten kann man an den Open Collector anschließen. Den Vorschlag mit Pin 16 und den Widerständen hatte ich übrigens aus einem Schulbuch!

Jetzt macht mir nur die Programmierung bissi Kopfzerbrechen. Ich sag nur Spaghetti-Code. Die Eingänge frag ich mit CASE...SELECT ab. Jetzt hab ich ganz viele Cases. Sehr unübersichtlich. Wie bekomm ich denn da mal Ordnung rein? Gibts da einen Trick?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 15.01.2006, 12:04    Titel: Antworten mit Zitat

crucido hat Folgendes geschrieben:
Jetzt macht mir nur die Programmierung bissi Kopfzerbrechen. Ich sag nur Spaghetti-Code. Die Eingänge frag ich mit CASE...SELECT ab. Jetzt hab ich ganz viele Cases. Sehr unübersichtlich. Wie bekomm ich denn da mal Ordnung rein?
Mit Select Case hast du doch schon eine übersichtliche Form..
Du solltest dir mal den Spaß machen und den ganzen Select Case-Kram in
IF..ELSE..ELSEIF..END IF aufzudröseln, dann noch ein paar ':' an passender Stelle:
DAS ist Spaghetti-Code(und zwar vom Allerfeinsten lachen)
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 15.01.2006, 12:32    Titel: Antworten mit Zitat

Wer Case verwendet, macht keinen Spaghetti Code!
Echter Spaghetti Code entsteht es bei intensiver Verwendung von GOTO/GOSUB im zusammenspiel mit "zu faul zum einrücken".

Zur Ordnung:
Es geht recht einfach:
Mach Subroutinen!
Gib ihnen Sinnvolle Namen und schon sieht's schön übersichtlich aus.
Ganz Nobel wird es wenn man an den Anfang der Subroutine kurz beschreibt was sie wie macht (nicht im Detail nur die Idee dahinter).
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
crucido



Anmeldungsdatum: 13.01.2006
Beiträge: 16
Wohnort: Mittelhessen

BeitragVerfasst am: 15.01.2006, 15:55    Titel: Antworten mit Zitat

AAh! happy Sieht besser aus. Mit den Subroutinen ist eine klasse Sache. Danke sehr für den Tip.
GOSUB wollte irgendwie nicht klappen. Vielleicht wegen den Cases.
OK, neues Problem: Ich lasse mit dem Programm immer einen Schlitten hin und herfahren. Gibt zwei Endschalter, der eine macht Case 119 und der andere Case 63. Bis der Schlitten den anderen "Case" schaltet, wird der eine mit DO.. UNTIL..LOOP gehalten (ich weiß nicht, darf man sein Programm hier posten?). Klappt jedenfalls prima, immer hin und her. Jetzt will ich aber, dass der Schlitten 3 mal hin und herfährt und dann aufhört. Habs mit ner FOR 1 to 3 NEXT Schleife probiert, ging aber nicht. traurig Any Suggestions?

Gruß,
Der ewig lernende Cruz
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 15.01.2006, 16:27    Titel: Antworten mit Zitat

Danke, das du erst fragst und dann Handelst.
Nein, dein Programm scheint zu Gross zu sein, es gilt als Unhöflich grosse Programme hier direkt zu Posten.
Weil wir aber eben Ein Programmierforum sind, gibt es trotzdem eine Lösung:
Poste den Code auf http://fb.exp-soft.de/fbnp/ und Poste dann hier nur den Link zum Quellcode.
By the Way: Welche Programmiersprache benutzt du eigentlich?
(Freebasic/ QBasic/ QuickBasic)
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
crucido



Anmeldungsdatum: 13.01.2006
Beiträge: 16
Wohnort: Mittelhessen

BeitragVerfasst am: 15.01.2006, 21:06    Titel: Antworten mit Zitat

Dachte ich mir schon. Ich fänds auch unhöflich. Benutze Qbasic von der tollen Bootdiskette von Frank Steinberg. An dieser Stelle sei es ihm gedankt. Nur dieser Volkov...
Aber ich schweife ab.
So, hier der Link: http://fb.exp-soft.de/fbnp/index.php?view=158
Wichtig ist eigentlich nur der Teil bis Zeile 30, der Rest sind Zusatzfunktionen. Sieht in diesem Formular viel cooler aus, der Code zwinkern
_________________
"Wer weiß das er nichts weiß, ist klüger als der, der nicht weiß, dass er nichts weiß."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 17.01.2006, 18:54    Titel: Antworten mit Zitat

Also zum eigentlichen Problem:
Mal nachdenken ...
Als erstes hab ich den Quellcode kurz überarbeitet.

Dreimal hin und her ist die Aufgabe ...
So sollte es gehen:
http://fb.exp-soft.de/fbnp/index.php?view=160
Vielleicht musst du das "i=i+1" noch in andere Case Bedingungen tun oder das "IF i=6 then" noch anpassen, aber so in etwa sollte es 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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
crucido



Anmeldungsdatum: 13.01.2006
Beiträge: 16
Wohnort: Mittelhessen

BeitragVerfasst am: 18.01.2006, 00:10    Titel: Antworten mit Zitat

Coolsen! Vielen Dank, hat auf Anhieb geklappt. Tja, der Trick mit dem I+1... Na ja, bin ja noch neu.
Ich will ja nicht nerven, aber ich wollte jetzt noch eine Abfrage einbauen, ob es von Vorn losgehen soll oder nicht:http://fb.exp-soft.de/fbnp/index.php?view=163.
Nachdem I=3 (Zeile 20) ist soll er zum SUB abfrage (Zeile 76) . Wenn "b" gedrückt wird, soll er beenden, für "f" soll er zur Marke "start" im Hauptprogramm. Dann soll I=3 mit I=0 überschrieben werden und los gehts von Vorn. Klappt aber nicht. Scheinbar kann man aus einem Sub nicht ins Hauptprogramm springen. Habs im Hauptprogramm mit GOTO versucht, ging aber auch nicht. Wenn es nicht zuviel Ungemach bereitet, wär ich für einen weiteren Tip sehr dankbar.

El Cruzo
_________________
"Wer weiß das er nichts weiß, ist klüger als der, der nicht weiß, dass er nichts weiß."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 18.01.2006, 19:33    Titel: Antworten mit Zitat

GOTO sollte sowieso nicht verwendet werden.
Als Tipp kann ich dir Folgendes anbieten:
Pack das jetzige Hauptprogramm (also etwa Zeile 9 bis 74) in eine Sub (im späteren Verlauf nen ich sie jetzt HAUPT).
An die Stelle diese Codes kommt nun das hier:
Code:

CALL HAUPT
do
CLS
LOCATE 14, 20
PRINT "B zum Beenden, F zum Fortsetzen"
b$ = INKEY$
IF b$ = "b" THEN
END
END IF
IF b$ = "f" THEN
CALL HAUPT
END IF
loop

Ohne es geprüft zu haben, gehe ich davon aus das es geht.

Denn Namen "HAUPT" kannst du natürlich auch ändern.
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

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

Michael Frey hat Folgendes geschrieben:
GOTO sollte sowieso nicht verwendet werden.
..ganz meine Meinung, aber ich will diese Diskussion nicht neu anfangen lachen
Michael Frey hat Folgendes geschrieben:
Code:
CALL HAUPT
do
CLS
LOCATE 14, 20
PRINT "B zum Beenden, F zum Fortsetzen"
b$ = INKEY$
IF b$ = "b" THEN
END
END IF
IF b$ = "f" THEN
CALL HAUPT
END IF
loop
Wenn ich dem Benutzer anbiete, 'B' bzw. 'F' zu nehmen, muß ich davon ausgehn, daß einer das auch macht mit den Augen rollen
Deshalb sollte imho das Programm diesen Fall auch abfangen. Das ist nun einfach:
Code:
b$ = LCase$(INKEY$)
So ist es egal, ob der Benutzer SHIFT drückt oder aus Versehen CAPS LOCK aktiviert hat grinsen
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
crucido



Anmeldungsdatum: 13.01.2006
Beiträge: 16
Wohnort: Mittelhessen

BeitragVerfasst am: 19.01.2006, 16:25    Titel: Antworten mit Zitat

Danke für die guten Tips! Werds am WE mal testen. Vorher komm ich leider nicht dazu.
P.S. War heute an der Uni Giessen und hab mir das Basic-Praktikum angesehen: http://www.strz.uni-giessen.de/amp/PCpraktikum.htm. Die schließen auch ihre LEDs über 150 Ohm direkt an die DA´s an und benutzen sogar zusätzlich die Steuerausgänge. Die LEDs sind daran aber ziemlich dunkel.

Gruß, Crucido
_________________
"Wer weiß das er nichts weiß, ist klüger als der, der nicht weiß, dass er nichts weiß."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 19.01.2006, 18:14    Titel: Antworten mit Zitat

Meine Meinung zur Info's einer Uni:
Ich kenne Berufschullehre die Elektrotechnik geben und der empfihlt eine Schaltung die Offensichtlich Mist ist ...
(Eine Batterie beinahe Kurzschliessen um die maximale Leistung rauszuhollen)
Ein Studierte Irgendwas in unserem Betrieb läd defekte Akku's mit einer Nennspannung von 8.6 Volt mit rund 10 Volt auf und der hat das Gefühl es sei ein Gute Idee ...
Kurz gesagt: Der Gesunde Menschenverstand hilft oft weiter als irgendein Titel ...

Zudem heisst es auf der Seite "Institut für Atom- und Molekülphysik",
Fach: "Fachbereich Mathematik und Informatik, Physik, Geographie"
Titel: "Messen, Steuern und Regeln mit dem PC"
Einer Universität eines solchen Fachgebiets, traue ich offengesagt nicht das passende Fachwissen für solche Sachen zu.
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
crucido



Anmeldungsdatum: 13.01.2006
Beiträge: 16
Wohnort: Mittelhessen

BeitragVerfasst am: 19.01.2006, 18:51    Titel: Antworten mit Zitat

Nun ja. Stimmt auch wieder. Immerhin waren sie (für Atomphysiker) freundlich und kooperativ. Das mit den Steuerausgängen find ich auch etwas zu rustikal. Dieser ULN 2803 kost ja nicht die Welt....
_________________
"Wer weiß das er nichts weiß, ist klüger als der, der nicht weiß, dass er nichts weiß."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail 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