serialparameters.java

来自「利用JAVA采用网络通讯的例子,支持weblogic及websphere」· Java 代码 · 共 682 行 · 第 1/2 页

JAVA
682
字号
    switch (parity) {
      case SerialPort.PARITY_NONE:
        return "None";
      case SerialPort.PARITY_EVEN:
        return "Even";
      case SerialPort.PARITY_ODD:
        return "Odd";
      default:
        return "None";
    }
  }

  /**
       Converts a <code>String</code> describing a flow control type to an
       <code>int</code> type defined in <code>SerialPort</code>.
       @param flowControl A <code>string</code> describing a flow control type.
       @return An <code>int</code> describing a flow control type.
   */
  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;
  }

  /**
       Converts an <code>int</code> describing a flow control type to a
       <code>String</code> describing a flow control type.
       @param flowControl An <code>int</code> describing a flow control type.
       @return A <code>String</code> describing a flow control type.
   */
  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";
    }
  }

  public String toString() {
    System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%:" + portName + "--" +
                       portName.substring(0, 3));
    if (portName.substring(0, 3).toUpperCase().equals("COM")) {
      StringBuffer strBuffer = new StringBuffer();
      strBuffer.append("串口端口号:" + portName);
      strBuffer.append("波特率:");
      switch (baudRate) {
        case 300:
          strBuffer.append("300");
          break;
        case 600:
          strBuffer.append("600");
          break;

        case 1200:
          strBuffer.append("1200");
          break;

        case 2400:
          strBuffer.append("2400");
          break;

        case 4800:
          strBuffer.append("4800");
          break;

        case 9600:
          strBuffer.append("9600");
          break;

        case 14400:
          strBuffer.append("14400");
          break;

        case 57600:
          strBuffer.append("57600");
          break;

        case 115200:
          strBuffer.append("115200");
          break;
        default:
          strBuffer.append("##");
          break;

      }
      strBuffer.append(" ");
      strBuffer.append("数据位:");

      switch (databits) {
        case SerialPort.DATABITS_5:
          strBuffer.append("5");
          break;
        case SerialPort.DATABITS_6:
          strBuffer.append("6");
          break;
        case SerialPort.DATABITS_7:
          strBuffer.append("7");
          break;
        case SerialPort.DATABITS_8:
          strBuffer.append("8");
          break;
        default:
          strBuffer.append("##");
          break;
      }
      strBuffer.append(" ");
      strBuffer.append("校验位:");

      switch (parity) {
        case SerialPort.PARITY_NONE:
          strBuffer.append("无");
          break;

        case SerialPort.PARITY_ODD:
          strBuffer.append("奇");
          break;

        case SerialPort.PARITY_EVEN: //偶
          strBuffer.append("偶");
          break;
        default:
          strBuffer.append(parity);
          break;
      }
      strBuffer.append(" ");
      strBuffer.append("停止位:");

      switch (stopbits) {
        case SerialPort.STOPBITS_1:
          strBuffer.append("1");
          break;

        case SerialPort.STOPBITS_1_5:
          strBuffer.append("1.5");
          break;

        case SerialPort.STOPBITS_2:
          strBuffer.append("2");
          break;
        default:
          strBuffer.append("##");
          break;

      }
      strBuffer.append(" ");
      strBuffer.append("流控制:");

      switch (flowControlIn) {
        case CollectorDefine.FLOW_NONE:
          strBuffer.append("无");
          break;

        case CollectorDefine.FLOW_XON_OFF:
          strBuffer.append("流控");
          break;
        default:
          strBuffer.append("##");
          break;
      }

      strBuffer.append(" ");
      strBuffer.append("握手:");

      switch (flowControlOut) {
        case CollectorDefine.FLOW_NONE:
          strBuffer.append("无");
          break;

        case CollectorDefine.FLOW_RTS_CTS:
          strBuffer.append("握手");
          break;
        default:
          strBuffer.append("##");
          break;
      }

      return strBuffer.toString();

    }
    else {
      StringBuffer strBuffer = new StringBuffer();
      strBuffer.append("TCP端口号:" + portName);
      strBuffer.append("波特率:");
      switch (baudRate) {
        case CollectorDefine.B_300:
          strBuffer.append("300");
          break;
        case CollectorDefine.B_600:
          strBuffer.append("600");
          break;

        case CollectorDefine.B_1200:
          strBuffer.append("1200");
          break;

        case CollectorDefine.B_2400:
          strBuffer.append("2400");
          break;

        case CollectorDefine.B_4800:
          strBuffer.append("4800");
          break;

        case CollectorDefine.B_9600:
          strBuffer.append("9600");
          break;

        case CollectorDefine.B_14400:
          strBuffer.append("14400");
          break;

        case CollectorDefine.B_57600:
          strBuffer.append("57600");
          break;

        case CollectorDefine.B_115200:
          strBuffer.append("115200");
          break;
        default:
          strBuffer.append("##");
          break;

      }
      strBuffer.append(" ");
      strBuffer.append("数据位:");

      switch (databits) {
        case CollectorDefine.BIT_5:
          strBuffer.append("5");
          break;
        case CollectorDefine.BIT_6:
          strBuffer.append("6");
          break;
        case CollectorDefine.BIT_7:
          strBuffer.append("7");
          break;
        case CollectorDefine.BIT_8:
          strBuffer.append("8");
          break;
        default:
          strBuffer.append("##");
          break;
      }
      strBuffer.append(" ");
      strBuffer.append("校验位:");

      switch (parity) {
        case CollectorDefine.PARITY_NONE:
          strBuffer.append("无");
          break;

        case CollectorDefine.PARITY_ODD:
          strBuffer.append("奇");
          break;

        case CollectorDefine.PARITY_EVEN: //偶
          strBuffer.append("偶");
          break;
        default:
          strBuffer.append(parity);
          break;
      }
      strBuffer.append(" ");
      strBuffer.append("停止位:");

      switch (stopbits) {
        case CollectorDefine.STOP_1:
          strBuffer.append("1");
          break;

        case CollectorDefine.STOP_1_5:
          strBuffer.append("1.5");
          break;

        case CollectorDefine.STOP_2:
          strBuffer.append("2");
          break;
        default:
          strBuffer.append("##");
          break;

      }
      strBuffer.append(" ");
      strBuffer.append("流控制:");

      switch (flowControlIn) {
        case CollectorDefine.FLOW_NONE:
          strBuffer.append("无");
          break;

        case CollectorDefine.FLOW_XON_OFF:
          strBuffer.append("流控");
          break;
        default:
          strBuffer.append("##");
          break;
      }

      strBuffer.append(" ");
      strBuffer.append("握手:");

      switch (flowControlOut) {
        case CollectorDefine.FLOW_NONE:
          strBuffer.append("无");
          break;

        case CollectorDefine.FLOW_RTS_CTS:
          strBuffer.append("握手");
          break;
        default:
          strBuffer.append("##");
          break;
      }

      return strBuffer.toString();
    }
  }
}

⌨️ 快捷键说明

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