Nachträgliche Initialisierung

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
ingo-cw
Posts: 2
Joined: Tue Aug 09, 2011 2:39 pm

Nachträgliche Initialisierung

Post by ingo-cw »

Die Initialisierung funktioniert nur, wenn der IO-Warrior24 (USB-Dongle) beim ersten Start des Programms bereits eingesteckt ist. Dann kann man ihn rausziehen, wieder einstecken und neu initialisieren. Geht alles.

Wenn der IO-Warrior24 bei der ersten Initialisierung nicht eingesteckt ist, bekommt man ihn nicht mehr zum Laufen. D.h. startet man zuerst das Programm und steckt dann den IO-Warrier24 am USB-Port ein, dann kann über die Bibliothek der IO-Warrier24 nicht mehr gefunden und in Betrieb genommen werden.

Warum?
Machen wir was falsch oder was müsste man tun, um in der Reihenfolge bei der Inbetriebnahme frei sein zu können?

(Betriebssystem Win 7, 32 oder 64 Bit)
Guido Körber
Site Admin
Posts: 2856
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: Nachträgliche Initialisierung

Post by Guido Körber »

Haben Sie dazu mal einen Auszug aus dem Code?
User avatar
Christoph Jung
Posts: 670
Joined: Sun Oct 08, 2006 3:43 pm
Location: Germany / Berlin
Contact:

Re: Nachträgliche Initialisierung

Post by Christoph Jung »

Was bedeutet denn initialisiert? Ist damit das IowKitOpenDevice() gemeint oder die Initialisierung des I2C-Modus?
Abteilung: Softwareentwicklung
Folge uns auf Twitter
Follow us on twitter
ingo-cw
Posts: 2
Joined: Tue Aug 09, 2011 2:39 pm

Re: Nachträgliche Initialisierung

Post by ingo-cw »

Hallo,
anbei ein kleines Java-Testprogramm, was das Problem verdeutlichen soll:

package TestIOWarrior;

import com.codemercs.iow.IowKit;
import javax.swing.JFrame;


public class Main extends JFrame
{
public static void main(String [ ] args)
{
if(IowKit.openDevice()!=0L)
{
System.out.println("IO-Warrior geöffnet");
}
else
{
System.out.println("IO-Warrior nicht gefunden.");
// Sicherheitshalber schließen des Treibers.
// Das Problem tritt aber auch ohne diese Zeile auf.
IowKit.closeDevice(0);
}

//---------------------------------------------
// Während der Wartezeit IO-Warrior einstecken.
//---------------------------------------------

try {
Thread.sleep(20000);
} catch (InterruptedException e) {
e.printStackTrace();
}

// Der IO-Warrior wurde korrekt erkannt und Programm läuft weiter.

if(IowKit.openDevice()!=0L)
{
// hier sollte das Programm hin verzweigen, geht aber in den else Zweig
System.out.println("IO-Warrior geöffnet");
}
else
{
// trotz eingestecken und korrekt erkannten IO-Warriors
// landet das Programm immer hier. Erst nach Neustart des Programms
// liefert IowKit.openDevice() einen Wert != 0 zurück.
System.out.println("IO-Warrior nicht gefunden.");
}
}
}
Post Reply