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:

LCD Display am Druckerport

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
mad23



Anmeldungsdatum: 03.02.2013
Beiträge: 8

BeitragVerfasst am: 03.02.2013, 13:21    Titel: LCD Display am Druckerport Antworten mit Zitat

Hallo Zusammen,
ich möchte gern ein 2x16 zeiliges Display am Druckerport mit QuickBasic 4.5 ansteuern. Mit diversen LCD Programmen funktioniert es bereits.
Es handelt sich um ein EA DIP 162-D Display.(HD44780).
Hat hier jemand soetwas schon programmiert bzw. wie ist das entsprechende Vorgehen?
Danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 03.02.2013, 14:17    Titel: Antworten mit Zitat

Hallo und willkommen im Forum!

Kurze Zwischenfrage: Unter welchem Betriebssystem soll das laufen?

Übrigens, ein ähnliches Thema gab es schon mal: http://forum.qbasic.at/viewtopic.php?t=6197- vielleicht hilft dir davon schon etwas weiter?

Viele Grüße!
Sebastian
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
mad23



Anmeldungsdatum: 03.02.2013
Beiträge: 8

BeitragVerfasst am: 03.02.2013, 17:09    Titel: Antworten mit Zitat

... soll win xp sein.
Der Link zeigt zwar hilft mir leider nur teilweise.
Ich brauche quasi "einen Stein des Anstoßes". Wie bekomme ich z.B. ein simples "Hallo" auf Zeile 1 des Displays? Vielleicht hat hier jemand einen Codeschnipsel...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 03.02.2013, 20:38    Titel: Antworten mit Zitat

http://www.mikrocontroller.net/articles/HD44780

Ich weiß es gerade nicht, aber ich glaube unter Windows XP brauchte man auch schon so einen LPT-Porttreiber.

Ansteuerung ist oben beschrieben, du musst jetzt halt nachschauen, wie du dein Display angeschlossen hast und wie du die entsprechenden Zustände an der Schnittstelle erzeugen kannst.

Details wie sowas geht findet man dort http://www.franksteinberg.de/index.htm#Messen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 03.02.2013, 22:08    Titel: Antworten mit Zitat

Hi mad23,

hier habe ich noch einen weiteren Thread zum Thema LCD am Parallelport gefunden.

Ich erinnere mich aber auch, dass KB (Kai Bareis) vor einigen Jahren genau das programmiert hat, was du jetzt suchst! Und erstaunlicherweise ist Kais Homepage auch heute noch verfügbar: http://www.kaibareis.de.vu/

Er hatte es damals nicht nur geschafft, das LCD von QB aus anzusteuern, sondern man konnte über die Website auf seinem Homeserver (der auch heute noch online ist!!! lächeln => http://bareis.dyndns.org/) Nachrichten auf dieses LCD senden. Das funktionierte damals, wenn ich mich richtig erinnere, so, dass bei einem abgeschickten Text von php (Web-Skripting) die QBasic-EXE-Datei gestartet wurde, die wiederum den Text an das Display sandte.

Ich glaube, ich habe den Quelltext dafür gerade eben auf seinem Homeserver gefunden: http://bareis.dyndns.org/newpage/elek/Lcd4.zip lächeln

Viele Grüße!
Sebastian
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
mad23



Anmeldungsdatum: 03.02.2013
Beiträge: 8

BeitragVerfasst am: 04.02.2013, 17:16    Titel: Antworten mit Zitat

Hallo und danke für die Antworten. Leider ist http://bareis.dyndns.org/newpage/elek/Lcd4.zip vermutlich derzeit down. Die PIN Belegung ist hier zu finden: http://www.modthebox.com/lcdhowto.shtml
Das Datenblatt des Display hier:
http://www.lcd-module.de/pdf/doma/dip162-d.pdf
Ich hatte mir eigentlich geacht das ein z.B "OUT &H378,48" bereits Wirkung zeigt und eine 0 auf dem Display erzeugt, aber nix.

Gruß
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

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

mad23 hat Folgendes geschrieben:
Leider ist http://bareis.dyndns.org/newpage/elek/Lcd4.zip vermutlich derzeit down.

Das ist ein Homeserver, d. h. Kai betreibt da hinter seiner DSL-Internetleitung zu Hause einen Webserver. Der ist anscheinend nur aktiv, wenn sein PC auch läuft. Gerade im Moment ist der Server wieder erreichbar.

Für alle Fälle habe ich dir den Code mal auf dem FreeBASIC-Portal-Server gespiegelt: http://www.freebasic-portal.de/dateiarchiv/Lcd4.zip

Der Code dürfte genau das sein, was du suchst.
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
mad23



Anmeldungsdatum: 03.02.2013
Beiträge: 8

BeitragVerfasst am: 04.02.2013, 20:13    Titel: Antworten mit Zitat

Danke für den TIPP!!!
Zumindest funktioniert schonmal das Darstellen eines Buchstaben oder Zahl. Das durch die Datei darzustellende "Hallo Welt" kommt jedoch leider nur in Teilen an.
z.B.:Hl e oder Hl et oder al l
Gruß
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 04.02.2013, 21:15    Titel: Antworten mit Zitat

mad23 hat Folgendes geschrieben:
Danke für den TIPP!!!
Zumindest funktioniert schonmal das Darstellen eines Buchstaben oder Zahl. Das durch die Datei darzustellende "Hallo Welt" kommt jedoch leider nur in Teilen an.
z.B.:Hl e oder Hl et oder al l
Gruß


klingt, als würdest du die Daten zu schnell senden. Dein Datenblatt sagt sicherlich etwas über Wartezeiten, die zwischen zwei Aktionen liegen müssen.
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
mad23



Anmeldungsdatum: 03.02.2013
Beiträge: 8

BeitragVerfasst am: 04.02.2013, 21:51    Titel: Antworten mit Zitat

Danke für die Antwort, ich habe natürlich auch mal nur eine Zeichenkette wie z.B. "AB" oder "113" eingegeben, jedoch ist das Ergebnis ähnlich. Meinst wirklich es liegt an Wartezeiten?
Gruss
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



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

BeitragVerfasst am: 04.02.2013, 23:41    Titel: Antworten mit Zitat

Ja! Wartezeiten sind beim Paraport und der geschwindigkeit der CPU in bezug auf dei Parallele Datenkommunikation zum LCD absolut essenziel nötig.

Bei 1GHz Taktrate von der CPU (nehmen wir optimistisch 100MHz an) wäre das bei nem LCD das für Mikrocontroler geadacht is, so rasand, das hier auch leitungslängen berücksichtigt werden mssten, sowie die Signalstabilität bei Rechteck signalen.

Einfachste lösung hierfür, timing verlängern, wartezeiten einfügen, um die Signale vom Schmitttrigger und der Hysterese sauber erkennen zu lassen.

hier gibts FB source diesbezüglich: http://mln.ath.cx/fb/project/lcd_dotmatrix/
die timings kannst du hier betrachten: http://mln.ath.cx/fb/project/lcd_dotmatrix/lcd_dotmatrix.htm



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


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 04.02.2013, 23:52    Titel: Antworten mit Zitat

Hi mad23,

dein E-Mail-Postfach scheint auch voll bzw. kaputt zu sein. zwinkern

Das Forum sendet dir bei Antworten auf deine Frage immer eine Benachrichtigungsmail, aber die sind bisher alle als unzustellbar an den Admin zurückgegangen:

Code:
This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed:

  save to inbox
    generated by [...DeineMailadresse...]
    mailbox is full: retry timeout exceeded


Inhaltlich schließe ich mich meinen Vorrednern an. Das klingt so, als würde dein PC zu schnell senden für den Displaycontroller. Du kannst mal in der QBasic-MonsterFAQ von QBasic.de nachschlagen, wie du Wartezeiten von unter 1s hinbekommst (z. B. 100ms). Damit würde ich das Senden künstlich verlangsamen.

Da der Poster QB 4.5 statt FreeBASIC verwendet, muss man das noch auf die altmodische Art mit einer TIMER-Schleife machen.

Viele Grüße!
Sebastian
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ThePuppetMaster



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

BeitragVerfasst am: 04.02.2013, 23:55    Titel: Antworten mit Zitat

Is bei mir sogar mit einer gelöst Zunge rausstrecken

aber, ob Double in QB verfügbar ist / war,... keine Ahnung. Müsste man dann wohl anpassen.

Code:

Sub LCD_WaitTime(V_Waitus As Uinteger)
Dim XTotT As Double = Timer + (Cdbl(V_Waitus) / 1000000)
Do
    If XTotT <= Timer Then Exit Do
Loop
End Sub



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


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 05.02.2013, 00:09    Titel: Antworten mit Zitat

ThePuppetMaster hat Folgendes geschrieben:
Code:
Uinteger [...]
Dim XTotT As Double = Timer + (Cdbl(V_Waitus) / 1000000)

UInteger und explizite Initialisierung bei der Deklaration - da traust du QB aber viel zu. zwinkern

Zu den Wartezeiten in QB siehe: http://www.antonis.de/faq/QBMonFAQ-Dateien/266258169.html
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
mad23



Anmeldungsdatum: 03.02.2013
Beiträge: 8

BeitragVerfasst am: 05.02.2013, 20:39    Titel: Antworten mit Zitat

Danke für die Info. Ich werde es morgen mal ausprobieren.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
mad23



Anmeldungsdatum: 03.02.2013
Beiträge: 8

BeitragVerfasst am: 06.02.2013, 18:41    Titel: Antworten mit Zitat

Hallo Zusammen,
Das war der Fehler. Danke an alle!
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 -> Allgemeine Fragen zu QBasic. 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