API nutzen Win7 (64Bit)

Bei javac hat er nur noch etwas von unsafe operations zu mekern, beim ausführen klappt etwas noch nicht, ich denke aber dass ich das noch selber gerade biegen kann ;)

2) heutzutage nur noch wenig bedeutung hat da moderne PCs noch nicht mal mehr COM-Schnittstellen haben

Meiner ist da keine ausnahme ;) Ich habe ein Virtueller ComPort der über USB auf einen Converter für UART geht, dann auf Bluetooth mit 100m reichweite welcher dann wiederum auf UART einen Microcontroller ansteuert :)

Zum Daten senden "sehe" ich also eigentlich eine normale Serielle schnittstelle :)

Ich mache das ganze so weill mir die Hardeware mit USB viel zu kompliziert zum bauen geworden währe.
einen USB-UART Converter mit Virtual-Com Port ist viel einfacher! Das wahr jetzt OVERTOPIC :(

Danke nochmal! an alle beide!
 
Also ich habe an meinem PC weder COM noch LPT. Auch PS/2 habe ich nur noch für Tastatur. Dafür hat meine ob-board Grafikkarte einen DVI-Connector.
 
Bist du dir da so sicher? Ich hab n Asus P7H55M-USB3 (ca. vor 16-20 Monaten erschienen), das hat auf dem Board einen LPT und einen COM-Port...
Ok, dafür hab ich nicht mal mehr IDE
 
Und welcher "normale PC User" braucht den noch einen Com-Port b.z. weiss was das ist? (kann man das essen?)

Nun habe ich ein paar JAVA Programme aus dem Internet ausprobiert und das resultat ist immer dass selbe :(

Ich finde keinen Com-Port! Und das obwohl im gerätemanager unter "Anschlüsse (COM und LPT)" der USB=>UART Converter korekt als COM3 aufgeführt ist :(

Hier mal der Code von einem der Programme, einfacher und weniger Störungsanfällig geht wohl kaum noch ;)

Code:
import java.util.Enumeration;

import javax.comm.CommPortIdentifier;


public class CommPortLister {

 
  public static void main(String[] ap) {
    new CommPortLister().list();
  }

  protected void list() {
   
    Enumeration pList = CommPortIdentifier.getPortIdentifiers();

    while (pList.hasMoreElements()) {
      CommPortIdentifier cpi = (CommPortIdentifier) pList.nextElement();
      System.out.print("Port " + cpi.getName() + " ");
      if (cpi.getPortType() == CommPortIdentifier.PORT_SERIAL) {
        System.out.println("is a Serial Port: " + cpi);
      } else if (cpi.getPortType() == CommPortIdentifier.PORT_PARALLEL) {
        System.out.println("is a Parallel Port: " + cpi);
      } else {
        System.out.println("is an Unknown Port: " + cpi);
      }
    }
  }
}

Ich denke wohl dass ich (wie genodefest bereits befürchtet hat) noch den OSGi laden muss!
Falls gerade niemand eine Idee hat was es sonst sein kann probiere ich das Morgen :);-)

thx! Na ja...Erledigt ist eigentlich auf JA eingestellt :rolleyes:
 
Ich fürchte, dass es ein Problem gibt, den COM-Port zu erkennen.

COM-Ports am Mainboard können mit Hilfe von Interrupts kommunizieren. Da USB aber ein Host-zentriertes System mit aktivem Polling ist, können COM-Ports über USB keine Interrupts senden.

kannst du andere Hardware an dem Port testen?
 
nun, da es ja selbst für den Gerätemanager ein normaler ComPort ist dachte ich, dass es gehen müsste.

Andere Hareware anhängen geht leider nicht sry! Aber ich könnte mal meinen "zuverläsigen XP PC für Notsituationen" nehmen ;) Den habe ich seit ich in der 4ten oder 5ten Klasse war und der hat natürlich noch einen "echten" ComPort. Dieser sehr zuverläsige PC hat mir schon in der 9ten Klasse den Kopf geretet :) Ich kann dort mal ausprobieren, ob ich einen Port ohne OSGi erkennen kann. Wenns dort nicht geht muss ich OSGi wohl laden :)

Aber warum ist dass den so ein "heftiges Geschoss" :eek:
 
Ja, probier es da mal.
Auf allen anderen Betriebssystemen (ab Windows Vista, fast alle Linux-Distros, ...) kann es auch sein, dass du nicht genug Rechte hast. Probier mal, dein Programm mit Admin-Rechten auszuführen
 
OSGI ist ein heftiges Geschoss weil es ein relativ großes Framework für eine solch kleine Aufgabe ist.
Eigentlich hat OSGI damit auch gar nichts zu tun weil OSGI *meines Wissens* nur ein Framework für Versionskontrolle und Plug-In's ist.
Ich spreche dabei nicht unbedingt von der Größe von OSGI *alles zusammen vielleicht ein paar MB* ... es geht viel mehr darum was OSGI eigentlich ist und was du noch alles drum bauen müsstest um damit die Comm-Lib als OSGI-Modul laden zukönnen. Das ist den aufwand nicht Wert und das bisschen dirty-code um OSGI zu umgehen ist ausreichend.

Ich habe auch noch so eine alte Kiste mit zwei echten COM und einem LPT - Ports ... is aber Win 7 drauf ... gucken ob ichs hinbekomme.


//UPDATE
Also weder mit XP Pro SP2 x86 + Java7 x86 noch mit Win7 Ulti x64 + Java7 x86 bzw Java7 x64 ist mir möglich auf meiner alten Kiste an die COM-Ports zu kommen ... an den LPT komm ich auch nicht. Ich würde also sagen das hat eher weniger was mit Java zu tun als mit der Tatsache das diese Lib auf Grund ihres Alters einfach nicht mehr funktionsfähig ist.
 
Zuletzt bearbeitet von einem Moderator:
Habe es jetzt auf meiner alten Kiste noch nicht ausprobiert, aber mit der WIn XP Virtualisierung (welche ich sehr empfehlen kann) auf der meiner Rennmaschiene klapps net :( Und wenn es so nicht geht, geht es auf meiner alten Kiste sicher auch nicht!

Ich würde das wohl als Fehlversuch werten :( Hat jemand ne Idee wie ich an den ComPort kommen kann? Ich habe die GUI bereits fast fertig ;-)

Kann ich das Problem e.v. umgehen, in dem ich mit eclipse arbeite? ;)
 
Zurück