1

Sujet : java(eclipse) avec la carte k8055

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
       
    }
   
}

2

Re : java(eclipse) avec la carte k8055

Qu'est-ce qui ne fonctionne pas dans les exemples qui sont mis en ligne ?