2013-04-10 4 views
1

Я хочу выполнить последовательную связь с модемом USB GSM в Linux. Я использовал следующий код. но portList.hashElements возвращается как false. Я использовал версию RXTX librarry 2.1.7. пожалуйста помогите.Порт не указан

код

import java.io.*; 
import java.util.*; 
import gnu.io.*; 

public class SimpleWrite { 

static Enumeration portList; 
static CommPortIdentifier portId; 
static String messageString = "Hello, world!\n"; 
static SerialPort serialPort; 
static OutputStream outputStream; 
private static SerialPort p; 

public static void main(String[] args) throws NoSuchPortException { 


    Enumeration ports = CommPortIdentifier.getPortIdentifiers(); 
    System.out.println("start: "+ ports.hasMoreElements()); 
    while(ports.hasMoreElements()) 
    { 
     CommPortIdentifier port = (CommPortIdentifier) ports.nextElement(); 
     System.out.print(port.getName() + " -> " + port.getCurrentOwner() + " -> "); 
     switch(port.getPortType()) 
     { 
      case CommPortIdentifier.PORT_PARALLEL: 
       System.out.println("parell"); 
      break; 
      case CommPortIdentifier.PORT_SERIAL: 
       System.out.println("serial"); 
      try { 
       p = (SerialPort) port.open("SimpleWrite", 1000); 
       int baudRate = 57600; // 57600bps 
       p.setSerialPortParams(
         baudRate, 
         SerialPort.DATABITS_8, 
         SerialPort.STOPBITS_1, 
         SerialPort.PARITY_NONE); 
      } catch (PortInUseException e) { 
       System.out.println(e.getMessage()); 
      } catch (UnsupportedCommOperationException e) { 
       System.out.println(e.getMessage()); 
      } 
      break; 
     } 
    } 
    System.out.println("stop"); 
} 
} 

Выход есть:

Стабильная библиотека

Native Lib Version = RXTX-2.1-7 Java Lib Version = RXTX-2.1- 7 начало: false stop Экспериментальный: JNI_OnLoad называется.

System.out.println ("start:" + ports.hasMoreElements()); печатается как false. пожалуйста помогите. благодарю вас

+1

выглядит как библиотека RXTX для портов LTP и COM, а не для USB. – user1516873

ответ

0

Обратите внимание на наименования устройств, поскольку linux не распознает шаблон именования.

Может быть, мой ответ может помочь:

serial port identification with java on ubuntu

0

похож ошибка для меня под Ubuntu 14.04. Порт не указан. Обнаружено обходное решение, запустив программу как root.