⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nullserialport.java

📁 这是我自己写的,请各位高手看一下!!是关于串口方面的编程,用java
💻 JAVA
字号:
/* * @(#)NullSerialPort.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. */package samples.NullDriver;import	java.io.*;import  java.util.TooManyListenersException;import	javax.comm.*;class NullSerialPort extends SerialPort {    NullSerialPort(String name) throws IOException {	this.name = name;    }    private InputStream ins;    public InputStream getInputStream() throws IOException {	if (closed) throw new IllegalStateException("Port Closed");	return ins;    }    private OutputStream outs;    public OutputStream getOutputStream()  throws IOException {	if (closed) throw new IllegalStateException("Port Closed");	return outs;    }    /**     * The following methods deal with receive thresholds     */    private int rcvThreshold = -1;    public void enableReceiveThreshold(int thresh) 	throws UnsupportedCommOperationException {	if (closed) throw new IllegalStateException("Port Closed");	rcvThreshold = thresh;    }    public void disableReceiveThreshold() {	if (closed) throw new IllegalStateException("Port Closed");	rcvThreshold = -1;    }    public boolean isReceiveThresholdEnabled() {	if (closed) throw new IllegalStateException("Port Closed");	return rcvThreshold != -1;    }    public int getReceiveThreshold() {	if (closed) throw new IllegalStateException("Port Closed");	return rcvThreshold;    }    /**     * The following methods deal with receive timeouts     */    int rcvTimeout = -1;    public void enableReceiveTimeout(int rcvTimeout) 	throws UnsupportedCommOperationException {	if (closed) throw new IllegalStateException("Port Closed");	this.rcvTimeout = rcvTimeout;    }    public void disableReceiveTimeout() {	if (closed) throw new IllegalStateException("Port Closed");	this.rcvTimeout = -1;    }    public int getReceiveTimeout() {	if (closed) throw new IllegalStateException("Port Closed");	return rcvTimeout;    }    public boolean isReceiveTimeoutEnabled() {	if (closed) throw new IllegalStateException("Port Closed");	return rcvTimeout == -1 ? false : true;    }    /**     * The following methods deal with receive framing     */    private boolean	framing = false;    private int		framingByte;    boolean		framingByteReceived;    public void disableReceiveFraming() {	if (closed) throw new IllegalStateException("Port Closed");	framing = false;    }    public void enableReceiveFraming(int framingByte) 	throws UnsupportedCommOperationException {	if (closed) throw new IllegalStateException("Port Closed");	framing = true;	this.framingByte = framingByte & 0xff;    }    public int getReceiveFramingByte() {	if (closed) throw new IllegalStateException("Port Closed");	return framingByte;    }    public boolean isReceiveFramingEnabled() {	if (closed) throw new IllegalStateException("Port Closed");	return framing;    }    public void setInputBufferSize(int size) {	if (closed) throw new IllegalStateException("Port Closed");    }    public int getInputBufferSize() {	if (closed) throw new IllegalStateException("Port Closed");	return 0;    }    public void setOutputBufferSize(int size) {	if (closed) throw new IllegalStateException("Port Closed");    }    public int getOutputBufferSize() {	if (closed) throw new IllegalStateException("Port Closed");	return 0;    }    /* Serial Port methods */    private int baudrate;    private int parity;    private int dataBits;    private int stopBits;    private int flowcontrol;    public int getBaudRate() {	if (closed) throw new IllegalStateException("Port Closed");	return baudrate;    }    public int getDataBits() {	if (closed) throw new IllegalStateException("Port Closed");	return dataBits;    }    public int getStopBits() {	if (closed) throw new IllegalStateException("Port Closed");	return stopBits;    }    public int getParity() {	if (closed) throw new IllegalStateException("Port Closed");	return parity;    }    public void setFlowControlMode(int flowcontrol) 	throws UnsupportCommOperationException {	if (closed) throw new IllegalStateException("Port Closed");	this.flowcontrol = flowcontrol;    }    public int getFlowControlMode() {	if (closed) throw new IllegalStateException("Port Closed");	return flowcontrol;    }    public void setSerialPortParams(int baudrate, int dataBits,	int stopBits, int parity) throws UnsupportedCommOperationException {	if (closed) throw new IllegalStateException("Port Closed");	this.baudrate = baudrate;	this.parity = parity;	this.dataBits = dataBits;	this.stopBits = stopBits;    }    public void sendBreak(int millis)  {	if (closed) throw new IllegalStateException("Port Closed");    }    private boolean dtr = true;    public void setDTR(boolean dtr) {	if (closed) throw new IllegalStateException("Port Closed");	/*	 * Illegal to change state of DTR when hardware flow control is on	 */	if ((flowcontrol & FLOWCONTROL_RTSCTS_IN) == FLOWCONTROL_RTSCTS_IN) {	    return;	}	this.dtr = dtr;    }    public boolean isDTR() {	if (closed) throw new IllegalStateException("Port Closed");	return dtr;    }    private boolean rts = true;    public void setRTS(boolean rts) {	if (closed) throw new IllegalStateException("Port Closed");	/*	 * Illegal to change state of RTS when hardware flow control is on	 */	if ((flowcontrol & FLOWCONTROL_RTSCTS_IN) == FLOWCONTROL_RTSCTS_IN) {	    throw new IllegalStateException(			"Cannot modify RTS when Hardware flowcontrol is on.");	}	this.rts = rts;    }    public boolean isRTS() {	if (closed) throw new IllegalStateException("Port Closed");	return rts;    }    public boolean isCTS() {	if (closed) throw new IllegalStateException("Port Closed");	return true;    }    public boolean isDSR() {	if (closed) throw new IllegalStateException("Port Closed");	return true;    }    public boolean isRI() {	if (closed) throw new IllegalStateException("Port Closed");	return false;    }    public boolean isCD() {	if (closed) throw new IllegalStateException("Port Closed");	return true;    }    public synchronized void addEventListener(SerialPortEventListener lsnr) 	throws TooManyListenersException	{	if (closed) throw new IllegalStateException("Port Closed");    }    public synchronized void removeEventListener() {	if (closed) throw new IllegalStateException("Port Closed");    }    public synchronized void notifyOnDataAvailable(boolean notify) {	if (closed) throw new IllegalStateException("Port Closed");    }    public synchronized void notifyOnOutputEmpty(boolean notify) {	if (closed) throw new IllegalStateException("Port Closed");    }    public synchronized void notifyOnCTS(boolean notify) {	if (closed) throw new IllegalStateException("Port Closed");    }    public synchronized void notifyOnDSR(boolean notify) {	if (closed) throw new IllegalStateException("Port Closed");    }    public synchronized void notifyOnCarrierDetect(boolean notify) {	if (closed) throw new IllegalStateException("Port Closed");    }    public synchronized void notifyOnRingIndicator(boolean notify) {	if (closed) throw new IllegalStateException("Port Closed");    }    public synchronized void notifyOnOverrunError(boolean notify) {	if (closed) throw new IllegalStateException("Port Closed");    }    public synchronized void notifyOnParityError(boolean notify) {	if (closed) throw new IllegalStateException("Port Closed");    }    public synchronized void notifyOnFramingError(boolean notify) {	if (closed) throw new IllegalStateException("Port Closed");    }    public synchronized void notifyOnBreakInterrupt(boolean notify) {	if (closed) throw new IllegalStateException("Port Closed");    }    /* finalizer. so we can close the comm port and release native resources */    protected void finalize() throws Throwable {    }    private boolean closed = false;    public void close() {	closed = true;	/*	 * WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING	 * AFTER YOU ARE DONE WITH YOUR OWN close() processing,	 * YOU MUST MAKE THIS CALL TO CommPort's close(). OTHERWISE	 * CommPort's HOUSEKEEPING WILL FAIL.	 * WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING	 */	super.close();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -