serialparameters.java

来自「基于SUN的javacomm20-win32 API中的例子SerialDemo」· Java 代码 · 共 230 行

JAVA
230
字号
package org.rien.rs;import gnu.io.*;public class SerialParameters {	private String portName;	private int baudRate;	private int flowControlIn;	private int flowControlOut;	private int databits;	private int stopbits;	private int parity;	public SerialParameters() {		this("", 9600, SerialPort.FLOWCONTROL_NONE,				SerialPort.FLOWCONTROL_NONE, SerialPort.DATABITS_8,				SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);	}	public SerialParameters(String portName, int baudRate, int flowControlIn,			int flowControlOut, int databits, int stopbits, int parity) {		this.portName = portName;		this.baudRate = baudRate;		this.flowControlIn = flowControlIn;		this.flowControlOut = flowControlOut;		this.databits = databits;		this.stopbits = stopbits;		this.parity = parity;	}	public void setPortName(String portName) {		this.portName = portName;	}	public String getPortName() {		return portName;	}	public void setBaudRate(int baudRate) {		this.baudRate = baudRate;	}	public void setBaudRate(String baudRate) {		this.baudRate = Integer.parseInt(baudRate);	}	public int getBaudRate() {		return baudRate;	}	public String getBaudRateString() {		return Integer.toString(baudRate);	}	public void setFlowControlIn(int flowControlIn) {		this.flowControlIn = flowControlIn;	}	public void setFlowControlIn(String flowControlIn) {		this.flowControlIn = stringToFlow(flowControlIn);	}	public int getFlowControlIn() {		return flowControlIn;	}	public String getFlowControlInString() {		return flowToString(flowControlIn);	}	public void setFlowControlOut(int flowControlOut) {		this.flowControlOut = flowControlOut;	}	public void setFlowControlOut(String flowControlOut) {		this.flowControlOut = stringToFlow(flowControlOut);	}	public int getFlowControlOut() {		return flowControlOut;	}	public String getFlowControlOutString() {		return flowToString(flowControlOut);	}	public void setDatabits(int databits) {		this.databits = databits;	}	public void setDatabits(String databits) {		if (databits.equals("5")) {			this.databits = SerialPort.DATABITS_5;		}		if (databits.equals("6")) {			this.databits = SerialPort.DATABITS_6;		}		if (databits.equals("7")) {			this.databits = SerialPort.DATABITS_7;		}		if (databits.equals("8")) {			this.databits = SerialPort.DATABITS_8;		}	}	public int getDatabits() {		return databits;	}	public String getDatabitsString() {		switch (databits) {		case SerialPort.DATABITS_5:			return "5";		case SerialPort.DATABITS_6:			return "6";		case SerialPort.DATABITS_7:			return "7";		case SerialPort.DATABITS_8:			return "8";		default:			return "8";		}	}	public void setStopbits(int stopbits) {		this.stopbits = stopbits;	}	public void setStopbits(String stopbits) {		if (stopbits.equals("1")) {			this.stopbits = SerialPort.STOPBITS_1;		}		if (stopbits.equals("1.5")) {			this.stopbits = SerialPort.STOPBITS_1_5;		}		if (stopbits.equals("2")) {			this.stopbits = SerialPort.STOPBITS_2;		}	}	public int getStopbits() {		return stopbits;	}	public String getStopbitsString() {		switch (stopbits) {		case SerialPort.STOPBITS_1:			return "1";		case SerialPort.STOPBITS_1_5:			return "1.5";		case SerialPort.STOPBITS_2:			return "2";		default:			return "1";		}	}	public void setParity(int parity) {		this.parity = parity;	}	public void setParity(String parity) {		if (parity.equals("None")) {			this.parity = SerialPort.PARITY_NONE;		}		if (parity.equals("Even")) {			this.parity = SerialPort.PARITY_EVEN;		}		if (parity.equals("Odd")) {			this.parity = SerialPort.PARITY_ODD;		}	}	public int getParity() {		return parity;	}	public String getParityString() {		switch (parity) {		case SerialPort.PARITY_NONE:			return "None";		case SerialPort.PARITY_EVEN:			return "Even";		case SerialPort.PARITY_ODD:			return "Odd";		default:			return "None";		}	}	private int stringToFlow(String flowControl) {		if (flowControl.equals("None")) {			return SerialPort.FLOWCONTROL_NONE;		}		if (flowControl.equals("Xon/Xoff Out")) {			return SerialPort.FLOWCONTROL_XONXOFF_OUT;		}		if (flowControl.equals("Xon/Xoff In")) {			return SerialPort.FLOWCONTROL_XONXOFF_IN;		}		if (flowControl.equals("RTS/CTS In")) {			return SerialPort.FLOWCONTROL_RTSCTS_IN;		}		if (flowControl.equals("RTS/CTS Out")) {			return SerialPort.FLOWCONTROL_RTSCTS_OUT;		}		return SerialPort.FLOWCONTROL_NONE;	}	String flowToString(int flowControl) {		switch (flowControl) {		case SerialPort.FLOWCONTROL_NONE:			return "None";		case SerialPort.FLOWCONTROL_XONXOFF_OUT:			return "Xon/Xoff Out";		case SerialPort.FLOWCONTROL_XONXOFF_IN:			return "Xon/Xoff In";		case SerialPort.FLOWCONTROL_RTSCTS_IN:			return "RTS/CTS In";		case SerialPort.FLOWCONTROL_RTSCTS_OUT:			return "RTS/CTS Out";		default:			return "None";		}	}}

⌨️ 快捷键说明

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