Puertos
Puertos
Puertos
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
API USB para permitir a la clase jPicUSB haga llamados a sus funciones.
Java no nos proporciona facilidad para acceder a
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(); }
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
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);}}}