Puertos

Descargar como ppt, pdf o txt
Descargar como ppt, pdf o txt
Está en la página 1de 14

CONEXIN DE PUERTOS CON JAVA

GUALPA ANDRES CUARTO A

PUERTO USB
En la actualidad este puerto se ha vuelto un puerto

Standard o universal ya que en la Industria de las computadoras es imposible no encontrarse con el mismo.
Para

poder realizar una conexin desde una aplicacin Java, se debe usar la clase jPicUSB para lograr la comunicacin PIC-PC.

JPICUSB
Esta clase permite a una aplicacin Java hacer

llamados a una librera dinmica (jpicusb.dll).


Esta librera implementa todas las funciones de la

API USB para permitir a la clase jPicUSB haga llamados a sus funciones.
Java no nos proporciona facilidad para acceder a

libreras dinmicas. Por lo que jPicUSB se hace indispensable.

PUERTO SERIE
Para esta conexin es necesario construir

XML(lenguaje que permite definir y estandarizar los datos) Este problema se resuelve asi: 1) Crear un fichero con extensin .xml y asignarle un flujo de salida (OutputStream). 2) Escribir en el flujo la cabecera del fichero xml 3) Definir el comienzo de la etiqueta 4) Para cada campo del formulario definir su correspondiente etiqueta y su valor (valorCampo). 5) Terminar el fichero escribiendo la etiqueta de cierre

EL CODIGO SERIA
public class EjemploRXTX {

static CommPortIdentifier portId; static CommPortIdentifier saveportId; static Enumeration portList; static InputStream inputStream; static OutputStream outputStream; static BufferedInputStream bufferedInputStream; static SerialPort serialPort; public static void main(String[] args){ boolean gotPort = false; String port; portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements()) {

portId = (CommPortIdentifier) portList.nextElement(); //get next port to check if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) { if ( portId.getName().equals("COM4") ) { port = portId.getName(); gotPort = true; }

if (gotPort == true) { try { serialPort = (SerialPort)portId.open("SMSSender", 2000); } catch (PortInUseException ex) { ex.printStackTrace(); } try { outputStream = serialPort.getOutputStream(); } catch (IOException ex) { ex.printStackTrace(); } try { serialPort.setSerialPortParams(19200, SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_NONE ); } catch (UnsupportedCommOperationException ex) { ex.printStackTrace(); }

try { inputStream = serialPort.getInputStream(); bufferedInputStream = new BufferedInputStream(inputStream); } catch (IOException e) { e.printStackTrace(); }

serialPort.notifyOnDataAvailable(true); } } }
PARA EL PUERTO SERIE try { if (!(outputStream == null)) outputStream.write("array de vis que queremos enviar"); byte[] readBuffer = new byte[1]; boolean read = false; while(!read) { try { String getInfo = ""; Thread.sleep(100);

while (bufferedInputStream.available() > 0) { int numBytes = bufferedInputStream.read(readBuffer); getInfo += new String(readBuffer); read = true; } feedback += getInfo; int length = getInfo.length(); } catch (Exception e){ e.printStackTrace(); } } } catch (IOException e){ e.printStackTrace(); } }

PUERTO PARALELO
Para poder controlar este puerto adems de tener la

mquina virtual de java instalada hay que instalar un driver en el sistema operativo.
Se opta por usar una implementacin de Java

Comunication API open source llamada RXTX.


Se RXTXcomm.jar como librera al proyecto java y el

driver se lo pone en la instalacin del jre\bin.

EL CODIGO SERIA
import java.io.OutputStream;import java.io.InputStream;import javax.comm.CommPortIdentifier;import javax.comm.ParallelPort;/* "CODIGO.JAVA@HOTMAIL.COM" *//* "Mauro Gomez Mejia" */public class ControlPuertos {private CommPortIdentifier idPort;private ParallelPort puertoParalelo;private OutputStream salida;private String nombre; public static int PARALELO=0;public void iniciarPuerto(){try {nombre= "LPT1";idPort = CommPortIdentifier.getPortIdentifier(nombre);

puertoParalelo=(ParallelPort) idPort.open("CODIGO.JAVA@HOTMAIL.COM", 888);salida = puertoParalelo.getOutputStream();System.out.println("Puert o "+nombre+" iniciado ...");} catch (Exception e) {System.out.println("Error en iniciarPuerto() \n"+e);}}public void cerrarPuerto(){try {salida.close();} catch (Exception e) {System.out.println("Error en cerrarPuerto() \n"+e);}System.out.println("Puerto "+nombre+" cerrado ...");}public void escribirEnPuerto(int dato){try {salida.write(dato);System.out.println("Dato "+dato+" escrito en Puerto "+nombre+" ...");} catch (Exception e) {System.out.println("Error en escribirEnPuerto() \n"+e);}}public static void main(String args[]) {try {ControlPuertos cp= new ControlPuertos();cp.iniciarPuerto();cp.escribirEnPuerto(0);f or (int i = 0; i<10; i++){for (int j = 0; j<400; j++){cp.escribirEnPuerto(i);}}cp.cerrarPuerto();} catch (Exception e) {System.out.println(e);}}}

También podría gustarte