Forum: PC-Programmierung Anfänger sucht Hilfe


von Patrik P. (hype)


Lesenswert?

Hallo,

ich habe letztens ein paar Tutorials über die Programmierung des 
LPT-Ports per C# gelesen und fand das ganz interessant.
Nun habe ich da mal etwas rumgespielt, aber mit einer PCI-LPT-Karte und 
Windows 7 x64 will das alles nicht so wirklich funktionieren.
Nach einer Suche per Google, was man denn noch machen könnte, bin ich 
nun hier gelandet.

Zuerst zu dem was ich möchte:

- Ein hd44780 Dot-Matrix Display ansteuern
- 10-20 LED's ansteuern

Das ganze möchte ich gerne mit C# ansteuern.
Das Display soll z.B. anzeigen, was die TV-Karte aufnimmt.
Die LED's sollen irgendwelche Status-Informationen anzeigen, ob gerade 
aufgenommen wird, sowas in der Art...
Die Informationen habe ich alle schon in meinem C#-Programm vorhanden, 
müsste diese also dann "nur" irgendwie an das Display senden.

Nun was brauche ich dazu?
Habe mich schonmal bei Arduino eingelesen, taugt das für den Anfang?

Grüße

von Lehrmann M. (ubimbo)


Lesenswert?

Patrik P. schrieb:
> Nun habe ich da mal etwas rumgespielt, aber mit einer PCI-LPT-Karte und
> Windows 7 x64 will das alles nicht so wirklich funktionieren.
> Nach einer Suche per Google, was man denn noch machen könnte, bin ich
> nun hier gelandet.
>
> Zuerst zu dem was ich möchte:
>
> - Ein hd44780 Dot-Matrix Display ansteuern
> - 10-20 LED's ansteuern

Hast du es nun geschafft den LPT Port anzusteuern oder nicht ?
Win7 Treiber suchen (Hersteller) dann sollte es eigentlich klappen. 
Sonst kommen sicher bald Ergebnisse zu C# und @ LPT Win 7.

Patrik P. schrieb:
> - Ein hd44780 Dot-Matrix Display ansteuern

Die Case Modding Szene hat einige Tutorials zum Thema LCD an LPT Port. 
Musst da mal ein bisschen googln. Dafür brauchts keine µC

Ansteuerung in C# gemäß dem Datenblatt des Displays bzw. HD44780

Patrik P. schrieb:
> - 10-20 LED's ansteuern

Dafür braucht man  dann eine µC und man multiplext die LEDs. Dann muss 
man über eine Schnittstelle µC <> PC nachdenken. Evtl. USB bzw. RS232

Patrik P. schrieb:
> Habe mich schonmal bei Arduino eingelesen, taugt das für den Anfang?

Ja! Aber da musst du die ATMEL Freaks fragen - ich komme von den PICs.

Patrik P. schrieb:
> Das Display soll z.B. anzeigen, was die TV-Karte aufnimmt.

Meinst du sowas wie den Kanal, etc.

Patrik P. schrieb:
> Die Informationen habe ich alle schon in meinem C#-Programm vorhanden,
> müsste diese also dann "nur" irgendwie an das Display senden.

Das klingt sehr gut - dann musst du dir nurnoch ein Datenblatt vom LCD 
holen und es ansteuern.

http://www.modding-faq.de/index.php?artid=600
http://www.moddingpower.de/artikel.php?a=Modding&s=LCD
http://lmgtfy.com/?q=modding+lcd

Wäre cool wenn du dich mal meldest wie dein Projekt so läuft ^^

Gruß

von Patrik P. (hype)


Lesenswert?

Hallo,

danke für Deine Antwort.
Die Ansteuerung des LPT-Ports habe ich nicht hinbekommen.
Eventuell liegt es auch daran, dass ich 64-bit-Systeme verwende.
Es gibt zwar eine "inpoutx64.dll" inklusive einem 64-bit-Treiber, aber 
es geht trotzdem nicht.
Weder auf einem Mainboard mit Onboard-LPT (0x378), noch mit einem 
PCI-LPT.
Das C#-Programm meldet keinen Fehler, allerdings liegt an den Data-Pins 
D0-D7 keine Spannung an (ich sende 255).

Hast du da eine Idee?

Tutorials habe ich schon einige gelesen, aber meistens sind diese sehr 
alt und die Treiber funktionieren unter 64-bit nicht.
Geschweige denn mit einer PCI-LPT-Karte (für die ich 64-bit Treiber habe 
und die sogar auf LPT1 gemappt werden kann)...
Aber irgendwie kommt die DLL damit nicht zurecht.


Ansonsten werde ich mir vielleicht mal die Arduinos anschauen...

von Henrik Haftmann (Gast)


Lesenswert?

Eine genügend neue Version von "inpout32.dll" enthält (zertifizierte!!) 
Treiber sowohl für x86- als auch für x64-Systeme, die vollautomatisch 
installiert und deinstalliert werden (beim Laden und Entladen der DLL).

Hingegen enthält "inpoutx64.dll" nur einen (zertifizierten) Treiber für 
x64-Systeme; ein 32-bit-Treiber wird eh' nicht benötigt:
64-Bit-DLLs können nur in den Adressraum einer 64-Bit-Anwendung geladen 
werden, daher ist die Verwendung der "inpoutx64.dll"-Datei 
ausschließlich für native x64-Programme möglich. Diese wiederum laufen 
auf x86-Plattformen ohnehin nicht.

Einigermaßen abgespeckte Versionen der DLL habe ich hier kompiliert:
http://www-user.tu-chemnitz.de/~heha/viewzip.cgi/hs_freeware/inpout32_source_and_bins_changed.zip/inpout32_source_and_bins/2011/Release/inpout32.dll
bzw:
http://www-user.tu-chemnitz.de/~heha/viewzip.cgi/hs_freeware/inpout32_source_and_bins_changed.zip/inpout32_source_and_bins/2011/x64/inpoutx64.dll

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.