Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
mad23
Anmeldungsdatum: 03.02.2013 Beiträge: 8
|
Verfasst am: 03.02.2013, 14:21 Titel: LCD Display am Druckerport |
|
|
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 |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
mad23
Anmeldungsdatum: 03.02.2013 Beiträge: 8
|
Verfasst am: 03.02.2013, 18:09 Titel: |
|
|
... 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 |
|
|
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 03.02.2013, 21:38 Titel: |
|
|
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 |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 03.02.2013, 23:08 Titel: |
|
|
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!!! => 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
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
mad23
Anmeldungsdatum: 03.02.2013 Beiträge: 8
|
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
mad23
Anmeldungsdatum: 03.02.2013 Beiträge: 8
|
Verfasst am: 04.02.2013, 21:13 Titel: |
|
|
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 |
|
|
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 04.02.2013, 22:15 Titel: |
|
|
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 |
|
|
mad23
Anmeldungsdatum: 03.02.2013 Beiträge: 8
|
Verfasst am: 04.02.2013, 22:51 Titel: |
|
|
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 |
|
|
ThePuppetMaster
Anmeldungsdatum: 18.02.2007 Beiträge: 1837 Wohnort: [JN58JR]
|
Verfasst am: 05.02.2013, 00:41 Titel: |
|
|
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 |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 05.02.2013, 00:52 Titel: |
|
|
Hi mad23,
dein E-Mail-Postfach scheint auch voll bzw. kaputt zu sein.
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 _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
ThePuppetMaster
Anmeldungsdatum: 18.02.2007 Beiträge: 1837 Wohnort: [JN58JR]
|
Verfasst am: 05.02.2013, 00:55 Titel: |
|
|
Is bei mir sogar mit einer gelöst
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 |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
mad23
Anmeldungsdatum: 03.02.2013 Beiträge: 8
|
Verfasst am: 05.02.2013, 21:39 Titel: |
|
|
Danke für die Info. Ich werde es morgen mal ausprobieren. |
|
Nach oben |
|
|
mad23
Anmeldungsdatum: 03.02.2013 Beiträge: 8
|
Verfasst am: 06.02.2013, 19:41 Titel: |
|
|
Hallo Zusammen,
Das war der Fehler. Danke an alle! |
|
Nach oben |
|
|
|