Gnu.io. неправильно работает

Тема в разделе "Java", создана пользователем -, 17 окт 2008.

  1. Гость

    Вот этот тред:
    Код (Text):
    Scanner scanner = new Scanner();
    scanner.setDaemon(true);
    scanner.start();
    вот нарисую класс Scanner:
    Код (Text):
    import gnu.io.CommPortIdentifier;
    import gnu.io.PortInUseException;
    import gnu.io.SerialPort;

    public class Scanner extends Thread{
    public SerialPort inicialase(String defaultPort,int enableReceiveTimeout){
    SerialPort port = null;
    portList = CommPortIdentifier.getPortIdentifiers();// Вот здесь повисает
    while (portList.hasMoreElements()){
    portId = (CommPortIdentifier) portList.nextElement();
    if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL){
    if (portId.getName().equals(defaultPort)){
    try{
    port = (SerialPort) portId.open("ComPort",2000);
    System.out.println("Port "+defaultPort+" open!");
    if(enableReceiveTimeout>0){
    port.enableReceiveTimeout(enableReceiveTimeout);
    System.out.println("Port "+defaultPort+".setEnableReceiveTimeout("+enableReceiveTimeout+")");
    }
    }catch (PortInUseException e){
    System.out.println("Port "+defaultPort+" is already in use, can not use this port!! ");
    e.printStackTrace();
    }catch(Exception e){
    e.printStackTrace();
    }
    }
    }

    }
    System.out.println("return com port");
    return port;
    }
    public void run(){
    this.Inicialise("COM1",20*1000);
    }
    }
    При вызове Inicialisation () , повисает portList = CommPortIdentifier.getPortIdentifiers();// , причем через рас , а если второй раз вызвать Inicialisation , то все проходит ... Что за байда?
     
  2. Kmet

    Kmet Well-Known Member
    Java Team

    Регистрация:
    25 май 2006
    Сообщения:
    1.018
    Симпатии:
    1
    что за gnu.io и откуда оно?

    дамп потока делал?
     
  3. Гость

    Это библиотека на винду для работы с ком портом
    RXTX
    тоже самое что и javax.comm на линухе..
    Как делать дамп потока? :rolleyes:
     
  4. Kmet

    Kmet Well-Known Member
    Java Team

    Регистрация:
    25 май 2006
    Сообщения:
    1.018
    Симпатии:
    1
    под винду точно не помню, вроде бы Ctrl-Break.

    на сколько подвисает? может просто при первом вызове происходит нетривиальная инициализация которая требует много времени.
     
  5. Гость

    Не не требует , подвисает навсегда, счас просто пробую туеву кучу вариантов , как сделать .. но пока все плохо..
     
  6. Kmet

    Kmet Well-Known Member
    Java Team

    Регистрация:
    25 май 2006
    Сообщения:
    1.018
    Симпатии:
    1
    дамп в студию. в слепую можно долго тыкать
     
  7. Гость

    Вот сорти что я делаю , запускаю проект в эклипсе, жму cntrl+break , ничаго не происходит(проект в это время запущен..
    Может еще какойнить вариант снятия дампа?
     
  8. Kmet

    Kmet Well-Known Member
    Java Team

    Регистрация:
    25 май 2006
    Сообщения:
    1.018
    Симпатии:
    1
    вот подумай, тебе нужен дамп твоего приложения или эклипса? жми в консоли твоего приложение. еще вариант в debug view
     
  9. Гость

    Я вроде нашел выход , дамп не получается , он просто закрывает приложение(консоль и все).. а выход .. таков формировать SerialPort в майн классе , а потом с этими объектами работать.. хоть это и не очень верно .. но все же ... Когда узнаю в чем причина . напишу.. а счас во всю продолжаю воять .. Спасибо KMet , за помошщь .. если есть статейки по даппу и тд.. Кинь плиз .. я их обязательно изучу.. :rolleyes:
     
  10. Kmet

    Kmet Well-Known Member
    Java Team

    Регистрация:
    25 май 2006
    Сообщения:
    1.018
    Симпатии:
    1
    ну это не выход, это костыль. я бы подключил бы сорцы и продебажил оба случая, библиотека не большая, много времени занять не должно
     
  11. Гость

    вот этим я в выходные и займусь :rolleyes:
     
  12. Tihiy

    Tihiy Гость

    подскажите, пожалуйста, как Eclips'у указать, где искать библиотеку gnu.
    Ругается на стоку import'a gnu- "cannot be resolved".
    Устанавливал RXTXcomm в соответствии с инструкцией из архива с оф.сайта.
    NetBeans нормально воспринял пополнение и вполне нормально работает с этой библиотекой, а Eclipse отказывается.
     
  13. Гость

    вот где у меня все лежит:
    C:\Program Files\Java\jre1.6.0_05\lib\ext\comm.jar
    C:\Program Files\Java\jre1.6.0_05\lib\javax.com.properties
     
Загрузка...

Поделиться этой страницей