Hallo rosir,
Also, wenn ich mich richtig erinnere und man JAVA von den SUN Seiten installiert funktioniert doch alles automatisch?! Selbst JAR Dateien werden mit javaw.exe verbunden. D.h. ein Doppelklick auf eine JAR Datei startet dann das darin enthaltene JAVA Programm.
Leier weis ich das nicht. Ich hatte mir Java als großes Zip-File heruntergeladen und dann das Java-Verzeichnis 'händisch' angelegt. Dadurch sind die *.jar- Files leider nicht mit Java verbunden.
( BTW: wie macht man das eigentlich nachträglich? )
Ok, bei RXTX wird man wohl die entsprechenden Libraries (jars) händig ins richtige Verzeichnis kopieren müssen
Ja, das befürchte ich auch. Könnte es sein, dass es einfache, selbst zu konfigurierende Installer gibt?
(mit RXTX habe ich aber keine Erfahrung).
Geht es auch anders mit Windows? Ich dachte die Sun-Comm-Lib funktioniert nur mit Linus und Mac ( laut Internet ).
Gruß,
robo
Kommunikationsprogramm auf ASURO-Seite
Hier habe ich ein sehr einfaches Kommunikationsprogramm in C für die ASURO Seite geschrieben. Es versteht im Moment nur zwei Kommandos:
't' für Test
'l' um den linken Liniensesnor abzufragen
man kann aber sehr einfach weitere Kommandos an das Programm hinzufügen. Für das Programm wird die Asuro LibV261 von http://sourceforge.net/projects/asuro/ benötigt
Code:
#include "asuro.h"
/***************************************************************************
*
* AsuroEasyCom
*
* Programm zur einfachen Kommunikation des PC mit dem ASURO
* über die Infrarot Schnittstelle
*
*
* Kommandos:
*
* t: Testkommando, Asuro sendet xASUROy zurück
* l: Abfrage des linken Liniensensors
*
***************************************************************************
*/
// Status LED Farbe wechseln
void toggle_led()
{
static uint8_t k=0;
if(k)StatusLED(GREEN);
else StatusLED(YELLOW);
k=~k;
}
// Ein Zeichen von IR empfangen
uint8_t receive()
{
/* Warten auf ein Zeichen von der seriellen Schnittstelle */
UCSRB = 0x10; // enable receiver
while(!(UCSRA & 0x80)); // wait for received byte
toggle_led();
return UDR;
}
// Text senden
void SerPrint(unsigned char *data)
{
SerWrite(data,strlen(data));
}
int main(void)
{
uint8_t command;
int linie[2];
Init();
SerPrint("\n\r-- ASURO Ready --\n\r");
StatusLED(GREEN);
while(1)
{
/* Warten auf ein Kommando der seriellen Schnittstelle */
command = receive();
switch(command)
{
// Testcommando
case 't':
{
SerPrint("xASUROy");
}
break;
// Liniensensor links abfragen
case 'l':
{
LineData(linie);
SerPrint("x");
PrintInt(linie[0]);
SerPrint("y");
}
break;
// nicht erkannte Kommandos
default:
{
StatusLED(RED);
SerPrint("E"); /* Falls kein bekanntes Kommando, 'E' für Error senden */
}break;
}
}
return 0;
}
/***************************************************************************
*
* (c) 2008 robo.fr (Nickname) , christoph(at)roboterclub-freiburg.de
*
***************************************************************************
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation version 2 of the License, *
* If you extend the program please maintain the list of authors. *
* ( if there is no real name, the nick name has to be mentioned )
* If you want to use this software for commercial purposes and you *
* don't want to make it open source, please contact the authors for *
* licensing. *
***************************************************************************/
Lesezeichen