Значения параметров последовательного порта prob - PullRequest
0 голосов
/ 27 декабря 2011

Я пытаюсь прочитать / записать некоторые данные из COM-порта.Программа устанавливает значения параметров последовательного порта следующим образом:

serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE).

Однако программа застревает в приведенной выше строке кода.До этой строки он выполняется успешно.

Полный код приведен ниже:

public SendMsg(String className) throws NoSuchPortException, IOException, TooManyListenersException, UnsupportedCommOperationException
{
    this.className=className;
    //portList =  CommPortIdentifier.getPortIdentifiers();
    ports = CommPortIdentifier.getPortIdentifiers();
    System.out.println("ports name"+ports);
    while(ports.hasMoreElements())
    {
        pID = (CommPortIdentifier)ports.nextElement();
        System.out.println("Port Name " + pID.getName());

        if (pID.getPortType() == CommPortIdentifier.PORT_SERIAL)
        {
            System.out.println("Port Name 1 " + pID.getName());
            if (pID.getName().equals("COM1"))
            {
                try {
                    System.out.println("Port Name 2 " + pID.getName());
                    System.out.println("COM1 found");
                    serialPort=(SerialPort)pID.open(className, 1000);

                     outputStream=serialPort.getOutputStream();
                     inputStream=serialPort.getInputStream();
                     //f.serialEvent1(inputStream);
                     serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
                     System.out.println("hai");

                     serialPort.addEventListener(this);

                     break;
                } catch (PortInUseException ex) {
                    Logger.getLogger(SendMsg.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
    }
...