Bjr !
Je suis nouveau en programmation, j'ai un projet en java à réaliser avec ma carte k8055, j'ai touttes les fonctions ou classes qui me permettent d'implémenter toutes les fonctions ou actions, j'ai mis ma DLL dans le Systèm32, ce que je comprend pas c'est que mon programme ne semble pas réagir avec ma carte et pourtant, il n'y a pas d'erreurs, j'ai bien importer mes Jnative dans éclipse, ma question est : mais pourquoi mon n'interagit pas avec ma carte ?
Ce que je veux faire, lorsque je clique sur l'une de mes entrées de ma carte faire clignoter mes LED, et faire appel à une action sur mon programme.
SVP, est ce que quelqu'un peut bien m'aider ?
Voici un exemple de mes fonctions, il n'y a pas d'erreur seulelement il n'interagit pas avec ma carte
public class K8055D1 {
/**
*
*/
private static final long serialVersionUID = 1L;
public static final String DLL_NAME = "K8055D.DLL";
// Native-side function names
private static JNative nClearAllAnalog;
private static JNative nClearAllDigital;
private static JNative nClearAnalogChannel;
private static JNative nClearDigitalChannel;
private static JNative nCloseDevice;
private static JNative nOpenDevice;
private static JNative nOutputAllAnalog;
private static JNative nOutputAnalogChannel;
private static JNative nReadAllAnalog;
private static JNative nReadAllDigital;
private static JNative nReadAnalogChannel;
private static JNative nReadCounter;
private static JNative nReadDigitalChannel;
private static JNative nResetCounter;
private static JNative nSearchDevices;
private static JNative nSetAllAnalog;
private static JNative nSetAllDigital;
private static JNative nSetAnalogChannel;
private static JNative nSetCounterDebounceTime;
private static JNative nSetCurrentDevice;
private static JNative nSetDigitalChannel;
private static JNative nVersion;
private static JNative nWriteAllDigital;
static int pvAddress = 0; // l'adresse pour Io Borad SP5-6
static long pvAddress_Result; // l'adresse pour toutes LEDs autres actions
int cmax = 8; // la quantité des sorties numériques
static int amax = 12; // Max Wert pour la sortie l'analogue(analogique)
static long set_channel_a_1 = 1; // l'analogue(analogique) le canal 1
static long set_channel_a_2 = 2; // l'analogue(analogique) le canal 2
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
prog_open();
OpenDevice(0);
if(amax == 12){ Object Object = SetAllDigital();
SetAllDigital();
}
prog_SetAllAnalog();
prog_OutputAnalogChannel();
}
private static Object SetAllDigital() {
return amax;
// TODO Auto-generated method stub
}
static int OpenDevice(int address) throws NativeException, IllegalAccessException
{
if(nOpenDevice == null)
{
nOpenDevice = new JNative(DLL_NAME, "OpenDevice"); // The actual "decorated" name in the DLL
nOpenDevice.setRetVal(Type.INT);
}
nOpenDevice.setParameter(0, address);
nOpenDevice.invoke(); // Finally, execute the native function
return nOpenDevice.getRetValAsInt(); // get native call's return value
}
static void prog_open() {
System.out.println(">>> OpenDevice : " + pvAddress );
// Öffnen
try {
pvAddress_Result = K8055D1.OpenDevice(pvAddress);
System.out.println("Résultat Open Device : " + pvAddress_Result);
}
catch(Exception e) {
System.out.println("ERROR : ");
e.printStackTrace();
}
}
static void prog_OutputAnalogChannel() throws Exception {
System.out.println(">>> SetAnalogChannel Stufenweise");
int i;
// Kanal 1
for ( i= 1; i <= amax; i++ )
{
System.out.println("J-Mettre Analog Channel 1 : " + (i*20) );
try {
K8055D1.JOutputAnalogChannel(set_channel_a_1 , (i*20));
}
catch(Exception e) {
System.out.println("ERROR : ");
e.printStackTrace();
}
Thread.sleep(1000);
}
// Kanal 2
for ( i= 1; i <= amax; i++ )
{
System.out.println("J-Mettre Analog Channel 2 : " + (i*20) );
try {
K8055D1.JOutputAnalogChannel(set_channel_a_2 , (i*20));
}
catch(Exception e) {
System.out.println("ERROR : ");
e.printStackTrace();
}
Thread.sleep(1000);
}
}
static void prog_SetAllAnalog() {
System.out.println(">>> SetAllAnalog");
try {
K8055D1.SetAllAnalog();
}
catch(Exception e) {
System.out.println("ERROR : ");
e.printStackTrace();
}
}
private static void SetAllAnalog() {
// TODO Auto-generated method stub
}
private static void JOutputAnalogChannel(long set_channel_a_22, int i) {
// TODO Auto-generated method stub
}
}
Aucun message d'erreur ?
Non, il y a pas d'erreurs mais je comprend pas et pourtant ces fonctions sont censés interagir avec ma carte, peux tu m'aider stp ?
Je pense qu'il faut commencer par chercher les trucs les plus gros
Je dirais plutôt: Interagir avec le pilote de la carte. Le pilote, dans sa bonne version est-il installé ? Oui je sais c'est gros...
Ensuite est-ce que par hasard il ne faudrait pas que l'application Java soit lancée avec les droits de l'administrateur ?