mit Hyperterminal geht das alles, auch das Senden der Daten.Zitat von robo.fr
Gruss
M.
Hallo M., halll m.a.r.v.i.n.
es freut mich, dass Ihr so fleissig am Testen seid. Bei mir läuft das Programm und deshlab wäre es fast unmöglich, den Fehler selbst zu finden. Ich werde mal ein wenig nachdenken, wie man die Fehler besser finden könnte.
Der ASURO gibt 'E' ( E wie Error ) zurück, wenn er ein Kommando nicht kennt. Eigentlich sollte er mindestens folgende Kommandos kennen, zumindest wenn man die letzte Hex-File Version verwendet, die ich hier gepostet habe ( aber eigentlich schon auch die Version 4 ).Der Asuro reagiert auf die folgenden Kommandos (alles andere bis auf Zahlen ergibt E als Antwort)
Sobald neue Erkenntnisse da sind, poste ich wieder.Code:// Kommandos #define LEDSOFF '0' #define BACKLEDL '1' #define BACKLEDR '2' #define FRONTLED '3' #define ASUROVOR '4' #define ASURORUECK '5' #define ASUROLINKS '6' #define ASURORECHTS '7' #define VERBINDUNGOK 't' // Test Kommando #define LINIENSENSORLINKS 'l' #define LINIENSENSORRECHTS 'r' #define BATTERIE 'b'
Gruß,
robo
mit Hyperterminal geht das alles, auch das Senden der Daten.Zitat von robo.fr
Gruss
M.
Hier gibt es die Version 5.
Damit ich die Problem finden kann, wäre es wichtig, hier die Debug-Ausgabe des Programms zu posten.
Dazu muss man das Programm in der Kommandozeile ausführen. Unter Windows geht das mit
Start->Ausführen->"cmd" eintippen
( Die Linuxer wissen sowieso, wie man die Kommandozeile bedient)
Danach in das Verzeichnis wechseln, in dem ihr das *.jar Programm abgelegt habt. Bei mir liegt es auf dem Desktop. Ich wechsle also in das Verzeichnis mit
cd Desktop
dann das Programm starten:
java -jar EasyAsuro5.jar
Jetzt kann man in der Kommandozeile sehen, was das Programm macht.
Jetzt mal testen, ob sich die LED's ein und ausschalten lassen.
Dann: mehrere Male auf das ASURO Bild klicken. Was zeigt die Ausgabe auf der Kommandozeile?
Vielen Dank im Vorraus für eure Hilfe.
Gruss,
robo
hallo robo.fr
ich wollte dein Programm ausprobieren, aber bei mir kommen glaube ich nur Fehlermeldungen
jetzt weiß ich nicht, braucht man ein bestimmtes Programm um deine Datei auszuführen?Code:Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version n umber in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source)
oder habe ich einen Fehler gemacht?
mfg hai1991
Hallo hai1991,
hast Du RXTX so wie hier beschrieben installiert? Welche Java Version ( 1.6.xx ) hast Du und welches Betriebssystem?
Gruß,
robo
Hallo robo,
hier mal meine Ergebnisse:
Programm Start
Wenn ich auf das Bild klicke:Code:Stable Library ========================================= Native lib Version = RXTX-2.1-7 Java lib Version = RXTX-2.1-7
Wenn ich auf Encoder klicke:Code:No Number 0.0 No Number No Number 200.0
Wenn ich auf Beschleunigung klicke:Code:xpos:-1 ypos:-1 Empfangsfehler: keine Daten
LEDs und Motorsteuerung funktionieren ohne Probleme.Code:Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at ch.AsuroControl$2.actionPerformed(AsuroControl.java:178) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:19 95) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav a:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel .java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242 ) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL istener.java:236) at java.awt.Component.processMouseEvent(Component.java:6041) at javax.swing.JComponent.processMouseEvent(JComponent.java:3265) at java.awt.Component.processEvent(Component.java:5806) at java.awt.Container.processEvent(Container.java:2058) at java.awt.Component.dispatchEventImpl(Component.java:4413) at java.awt.Container.dispatchEventImpl(Container.java:2116) at java.awt.Component.dispatchEvent(Component.java:4243) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322 ) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) at java.awt.Container.dispatchEventImpl(Container.java:2102) at java.awt.Window.dispatchEventImpl(Window.java:2440) at java.awt.Component.dispatchEvent(Component.java:4243) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThre ad.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread. java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre ad.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Hallo m.a.r.v.i.,
vielen Dank für diese ausführliche Debugginghilfe. Ich vermute, dass auf euren Rechnern die Zeit vom Senden eines Wertes bis zum Empfang irgendwie länger geht, deshalb habe ich hier ein spezielles Test-jar gemacht.
Mit diesem Programm wird die Zeit des Wartens auf die Antwort vom Asuro gemessen und die Batteriespannung ermittelt. Könntest Du es aus der Kommandozeile starten und mir die Debuggingwerte sagen?
Vielen Dank im Vorraus,
robo
Hallo robo,
hier die Ergebnisse (mit RS232-IR Transceiver):
Danach habe ich das ganze mal mit dem USB-IR Transceiver wiederholt. Und damit funktioniert es wunderbar!Code:Stable Library ========================================= Native lib Version = RXTX-2.1-7 Java lib Version = RXTX-2.1-7 Byte nach RS232 schreiben: 62 von RS232 lesen: Timeout 2000ms lies Zahl Eingabestring: No Number Batteriespannung:0.0 Byte nach RS232 schreiben: 62 von RS232 lesen: Timeout 2000ms lies Zahl Eingabestring: No Number Batteriespannung:0.0 Byte nach RS232 schreiben: 62 von RS232 lesen: Timeout 2000ms lies Zahl Eingabestring: No Number Batteriespannung:0.0 beendet![]()
Code:Stable Library ========================================= Native lib Version = RXTX-2.1-7 Java lib Version = RXTX-2.1-7 Byte nach RS232 schreiben: 62 von RS232 lesen: chars received in 0ms: bx948y lies Zahl Eingabestring: bx948y erkannt: 948.0 Batteriespannung:5.43 Byte nach RS232 schreiben: 62 von RS232 lesen: chars received in 0ms: bx949y lies Zahl Eingabestring: bx949y erkannt: 949.0 Batteriespannung:5.44 Byte nach RS232 schreiben: 62 von RS232 lesen: chars received in 0ms: bx848y lies Zahl Eingabestring: bx848y erkannt: 848.0 Batteriespannung:4.86 beendet
Hallo m.a.r.v.i.n,
das ist sehr interessant. Ich verwende nämlich auch den USB-Transceiver. Deshalb funktioniert es wohl bei mir. Dann sollte eigentlich die alte Version 5 bei Deinem Rechner mit dem USB-Tranceiver auch funktionieren.
Was ich nicht verstehe: Wie kann es sein, dass es nur mit dem USB-Tranceiver, nicht aber mit dem Standart-RS232 Transceiver geht? So wie es aussieht, kommen beim Standart-Transceiver auch nach 2 Sekunden noch keine Daten zurück.
Bei meinem Laptop, an dem ich programmiere, habe ich leider keine RS232 Schnittstelle mehr. Hmm ... muss mal überlegen was ich da machen kann.
Kannst Du bei der Version5 mit dem USB-Tranceiver eigentlich die Encoder-Signale lesen?
Gruß,
robo
P.s.: Die Batteriespannung an Deinem ASURO erscheint mir etwas hoch. Hast Du aus Versehen Batterien rein gemacht und den Jumper gesteckt? Oder die Messung ist nicht richtig kallibriert, bei meinem ASURO stimmt es genau.
Mir ist gerade eben noch ein möglicher Unterschied zwischen dem RS232 und dem USB-Transceiver eingefallen:
Der RS232 Transceiver beeinflusst möglicherweise die Handshake-Leitungen der Schnittstelle. Deshalb habe ich in diesem Testprogramm für die Kommandozeie das Handshaking aktiv abgeschaltet. Vielleicht hilft's![]()
Lesezeichen