Mega Code Archive

 
Categories / Java by API / Javax Comm
 

SerialPort PARITY_NONE

/*  * @(#)SimpleRead.java  1.12 98/06/25 SMI  *  * Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.  *  * Sun grants you ("Licensee") a non-exclusive, royalty free, license   * to use, modify and redistribute this software in source and binary  * code form, provided that i) this copyright notice and license appear  * on all copies of the software; and ii) Licensee does not utilize the  * software in a manner which is disparaging to Sun.  *  * This software is provided "AS IS," without a warranty of any kind.  * ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,  * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A  * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND  * ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY  * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE  * SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS  * BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,  * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES,  * HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING  * OUT OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  *  * This software is not designed or intended for use in on-line control  * of aircraft, air traffic, aircraft navigation or aircraft  * communications; or in the design, construction, operation or  * maintenance of any nuclear facility. Licensee represents and  * warrants that it will not use or redistribute the Software for such  * purposes.  */ import java.io.IOException; import java.io.InputStream; import java.util.Enumeration; import java.util.TooManyListenersException; import javax.comm.CommPortIdentifier; import javax.comm.PortInUseException; import javax.comm.SerialPort; import javax.comm.SerialPortEvent; import javax.comm.SerialPortEventListener; import javax.comm.UnsupportedCommOperationException; public class MainClass implements Runnable, SerialPortEventListener {   static CommPortIdentifier portId;   static Enumeration portList;   InputStream inputStream;   SerialPort serialPort;   Thread readThread;   public static void main(String[] args) {     portList = CommPortIdentifier.getPortIdentifiers();     while (portList.hasMoreElements()) {       portId = (CommPortIdentifier) portList.nextElement();       if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {         // if (portId.getName().equals("COM1")) {         if (portId.getName().equals("/dev/term/a")) {           MainClass reader = new MainClass();         }       }     }   }   public MainClass() {     try {       serialPort = (SerialPort) portId.open("MainClassApp", 2000);     } catch (PortInUseException e) {     }     try {       inputStream = serialPort.getInputStream();     } catch (IOException e) {     }     try {       serialPort.addEventListener(this);     } catch (TooManyListenersException e) {     }     serialPort.notifyOnDataAvailable(true);     try {       serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1,           SerialPort.PARITY_NONE);     } catch (UnsupportedCommOperationException e) {     }     readThread = new Thread(this);     readThread.start();   }   public void run() {     try {       Thread.sleep(20000);     } catch (InterruptedException e) {     }   }   public void serialEvent(SerialPortEvent event) {     switch (event.getEventType()) {     case SerialPortEvent.BI:     case SerialPortEvent.OE:     case SerialPortEvent.FE:     case SerialPortEvent.PE:     case SerialPortEvent.CD:     case SerialPortEvent.CTS:     case SerialPortEvent.DSR:     case SerialPortEvent.RI:     case SerialPortEvent.OUTPUT_BUFFER_EMPTY:       break;     case SerialPortEvent.DATA_AVAILABLE:       byte[] readBuffer = new byte[20];       try {         while (inputStream.available() > 0) {           int numBytes = inputStream.read(readBuffer);         }         System.out.print(new String(readBuffer));       } catch (IOException e) {       }       break;     }   } }