[SOLUCIONADO]Problemas con puerto paralelo con jna y java

Iniciado por cyberserver, 25 Mayo 2010, 03:12 AM

0 Miembros y 1 Visitante están viendo este tema.

cyberserver

Hola amigos, miren estoy tratando de usar el puerto paralelo para poder prender unos leds.

E escuchado que existe una clase de java que ya lo hace pero tambien escuche k es solo para plataformas linux ya que desde windows es necesario que exista una .dll de por medio.!!!!


ahora que consegui la libreria que se llama "io.dll" estoy tratando de programar el puerto con JNA(Java Native Action) pero.....

no sucede nada cheque con programas ya compilados que utilizan esta misma libreria en visual basic 6.0 y si funcionan los puertos si sale corriente de aii!!!!

Pero a la hora de compilar mi codigo en java no me marca errores, pero simplemente no aii salida de corriente por el puerto!!!

Agredesco cualquier ayuda que las ideas se me estas llendo!!!!

Este es mi codigo en JAVA:
import javax.swing.*;
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Platform;

public class DB25 {

   public static void main (String[] args) {
    CLibrary.INSTANCE.PortOut("0x378",2);                 //AQUI SIENTO QUE ESTA EL PROBLEMA POR LA DIRECCION DE SALIDA
    JOptionPane.showMessageDialog(null,"Enviando Valor");
}
   public interface CLibrary extends Library {
      CLibrary INSTANCE = (CLibrary)Native.loadLibrary(
         (Platform.isWindows() ? "io" : "c"),
         CLibrary.class);
        public void PortOut (String Port ,int Value);

}
   
}


nota: por cierto en la llamada al puerto ya le intente como en visual Basci poniendo "&H"+"378" pero no pasa NADAAAA

Ayudaaaaaaaaaaaa






cyberserver

#1
Ajuaaaaaa ya pude ya pude ya pudeeee hermanos ya pudeeee!!!! AUUUUUUU no manches k perron ya puedo conectar el puerto paralelo db25 desde java con JNA y la libreria io.dll

lo que hice para solucionarlo es facil en lugar de enviarle el parametro de direccion del puerto como 378 lo converti a decimal que es 888 y lo pase como Tipo entero INT en lugar de String que es como estaba!!! y funcionaaaaa ajuaaaaaa prenden los leds, el codigo resultante queda.

import javax.swing.*;
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Platform;

public class DB25 {

    public static void main (String[] args) {
    CLibrary.INSTANCE.PortOut(888,2);               
    JOptionPane.showMessageDialog(null,"Enviando Valor");
}
    public interface CLibrary extends Library {
       CLibrary INSTANCE = (CLibrary)Native.loadLibrary(
          (Platform.isWindows() ? "io" : "c"),
          CLibrary.class);
         public void PortOut (int Port ,int Value);

}
   
}



No lo puedo creer que aya funcionado!!! ajuaaaaaa eaeaea

Saludos Atte: CyberServer






Leyer

#2
Cita de: cyberserver en 26 Mayo 2010, 03:45 AM
Ajuaaaaaa ya pude ya pude ya pudeeee hermanos ya pudeeee!!!! AUUUUUUU no manches k perron
:xD jaja

Bien hecho! , aunke solo era eso :xD yo le buscaba por otros lados :xD , bueno asi se aprende, de seguro les servira a muchos :)