Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] LCD mittels Java über die Parallele ansteuern
NeoGenesis
21.04.2004, 14:55
Also ich möchte ein LCD mittels Java über die Parallele Schnittstelle ansteuern.
Kann mir wer bei dieser Sache helfen, Tipps geben oder sonst irgendwas....
Weiss gar nicht wie ich anfangen soll.
Und wie mach ich denn das mit Java? #-o
Ich glaube nicht, dass das Java-Api Methoden für den direkten Zugriff auf den Parallelport hergibt. Hardwarenahe Programmierung ist nicht gerade Sinn und Stärke von Java.
Wenn es unbedingt sein muss, kann man C-Code in Java einbinden oder externe Programme aus Java heraus aufrufen.
Kann sein, dass es auch direkt in Java geht, aber wenn es nicht unbedingt Java sein muss, würde ich mir lieber eine andere Sprache dafür suchen. In VB und Quickbasic haben hier im Forum schon Leute Beispiele für die Programmierung über den Parallelport gepostet.
ich wuerde weder windos noch linux verwenden. dos ist bei hardwarezugriffen wesentlich benutzerfreundlicher. zudem kann man qbasic ( www.qbasic.de ) sehr schnell lernen und die damit erzeugten programme sind sehr klein (100kB sind schon sehr viel). wenn zudem eine c-controll (die ist auch auf dem roboter) verwendet werden soll, muss man sich sowiso mit basic befassen. der sinn von java ist wenn ich mich nicht irre, das erzeugen von programmen, dioe ohne nennenswerte aenderungen auf vwerschidenen betriebssystemen laufen und nicht der einsatz fuer treiber
also, das verstehe ich, dass ihr mir von Java abrät, aber das Problem ist, da ich es für mein Projekt in Java programmieren muss.
Könnt ihr mir vieleicht irgendwie mit dem Java scheiss helfen.
1. man kann auch in basic ein programm zur ansteuerung der hardware schreiben, das dann von einem javaprogramm mit den daten versorgt wird, was es tun soll
2. wiso muss das in java geschrieben werden?
3. es gibt auch fertige programme zur ansteuerung von LCD-Displays. normalerweise holen die sich die daten mit einem plugin von einem andeten programm. man kann aber auch ein plugin schreiben, das die daten von dem javaprogramm ausliest und weiterleitet. :) ist warscheinlich nicht ganz einfach
also, das verstehe ich, dass ihr mir von Java abrät, aber das Problem ist, da ich es für mein Projekt in Java programmieren muss.
Musst du für das Projekt nur irgendwas in Java programmieren und das mit dem LCD war deine Idee?
Oder muss es tatsächlich die Ansteuerung eines LCDs in Java sein?
Im ersten Fall würde ich mir einfach etwas anderes überlegen. Genauso wie es Dinge gibt für die Java wenig geeignet sind, gibt es auch viele Anwendungen für die sich Java besonders gut eignet.
Wenn du dir was aussuchts für das Java gut geeignet ist, kannst du auch mit relativ wenigen Zeilen schon etwas programmieren, das nach viel aussieht.
Je nachdem wie dein "Prüfer" drauf ist, könnte ich mir vorstellen, dass es sogar in die Bewertung einfliesst, ob Java für dein Projekt gut oder schlecht geeignet ist. Im Prinzip gehört das Wissen wofür sich eine Programmiersprache eignet ja mit zu den Kenntnissen über diese Sprache.
Sollte das Projekt tatsächlich erfordern, dass du ein LCD in Java ansteuerst, würde ich mich bei demjenigen der sich das ausgedacht hat erkundigen, ob er da irgendein spezielles API, Plugin oder was ähnliches das man in Java-Programmen für die Steuerung des Parallel-Ports einbinden kann im Sinn hat.
Falls nicht, fällt mir dazu auch nur die Lösung die hrrh dir schon geschrieben hat ein.
Du könntest dir dann z.B. in Qbasic eine kleines Programm schreiben, dem man einen Text als Parameter übergibt und das QBasic Programm schaltet dann den Parallel-Port.
Dein Java Programm übergibt dann den Text der auf dem LCD ausgegeben werden soll an QBasic.
So könnte man z.B. einen kleinen Taschenrechner mit LCD-Ausgabe realisieren.
Aber bei deinem Projekt wäre dann schnell mehr als die Hälfte des Programmcodes QBasic, ein echtes Java-Projekt wäre es also eigentlich nicht.
@gast: ein q-basic programm ist nicht fuer hardwareansteuerung unter windos geeignet (ausname: windos 3.1, windos 3.11 und entv. windos 95), soweit man keine entsprechenden Tricks verwendet :( in diesem fall muss man eine andere programmiersprache verwenden, was leider nicht ganz so einfach ist
@gast: ein q-basic programm ist nicht fuer hardwareansteuerung unter windos geeignet (ausname: windos 3.1, windos 3.11 und entv. windos 95)
Stimmt, habe ich vergessen. Da die normalen Java-SDKs auf Win 3.x nicht laufen, scheidet damit die Kombination Java/QBasic auch noch aus.
wiso? mit VMWare sollte es moeglich sein. ich etelle mir das so vor: mit VMWare werden auf einem Linux-PC zwei PCs emuliert, auf dem einen emulirten PC laeuft DOS, auf dem anderen Windos, dann muss man eine datei erstellen, auf die von beiden Virtuellen PCs zugegriffen werden kann. die hardwareansteuerung laeuft unter DOS, das Java programm auf windos; oder man emulirt nur ienen PC auf dem DOS laeuft und laesst das Java programm unter Linux laufen. es ist allerdings eine frage, ob das sinnvoll ist zumal das zimlich viel rechenleistung braucht (unter einem P4 laeuft nix) :( und viel festplattenplatz (mindestens 5GB-10GB) und sehr viel Ram braucht (mindestens 512MB, besser 1024MB).
es ist allerdings eine frage, ob das sinnvoll ist
Wohl eher nicht. Da ginge bei der Realsierung ja x-mal mehr Zeit für alles andere als die Java-Programmierung drauf und es soll ja ein "Java-Projekt sein.
Mal ganz davon abgesehen, würde es mindestens die Hälfte Aufwand sparen, VMWare direkt auf Windows zu installieren und da dann nur DOS zu simulieren. VMWare sollte ja auch auf Windows auf die Hardware zugreifen können, sonst lässt sich damit schlecht ein komplettes Betriebsystem emulieren.
Wenn schon Linux, könnte man auch komplett auf Linux bleiben. Java gibt es da ja auch und Hardwarezugriffe auf die Parallele Schnittstelle müssen unter Linux ja für irgendeine Programmier- oder sogar Scriptsprache dokumentiert sein.
Aber selbst diese beiden Varianten dürften vom Aufwand her wenig sinnvoll sein.
Hier hat offensichtlich schon mal jemand in Java über den Parallel-Port gesteuert:
http://www.vorlesungen.uni-osnabrueck.de/informatik/robot00/html/skript-19.html
Sieht aber zumindestens auf den ersten Blick so aus, als hätten die die Hardwarezugriffe als C-Routinen eingebunden.
Keine Ahnung, ob man da etwas von übertragen oder sogar wiederverwenden könnte. Bin ehrlich gesagt zu faul es komplett durchzulesen.
Also ich habe ja mit Java schon den LPT unter Linux angesteuert... (ein SW Grafik LCD mit 320x240px)
Dazu musst du ein Shared Object in C erstellen und dass dann per JNI (Java Native Interface) ansteuern - steht in den Java tutorials von Sun wie dass mit den JNI geht.
Sofern du allerdings Win32 oder schlimmer WinNT benutzt, wirds haarig, da dort die Hardware Ansteuerung viel komplizierter ist...
Ich würde dir empfehlen etwas anderes mit Java zu realisieren - oder du nimmst ein LCD mit serieller Schnittstelle, denn das kannst du dann mit javax.comm über ne RS232 ansteuern. Das ist dann relativ einfach möglich und läuft unter Linux (s. http://www.rxtx.org) und Windows
javax.comm soll übrigens auch für den LPT taugen - tuts aber scheinbar doch nicht... (Sun hat dass noch nicht implementiert ... )
Also mal danke für die vielen Posts!; denen ich sehr viel Informationen entnommen habe.
Und leider ich werde es in Java machen müssen.... aber danke nochmal.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.