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

  • Автор темы Guest
  • Дата начала
G

Guest

#1
Вот этот тред:
Код:
Scanner scanner = new Scanner();
scanner.setDaemon(true);
scanner.start();
вот нарисую класс Scanner:
Код:
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 , то все проходит ... Что за байда?
 
G

Guest

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

Kmet

Java Team
25.05.2006
1 036
8
#4
под винду точно не помню, вроде бы Ctrl-Break.

При вызове Inicialisation () , повисает portList = CommPortIdentifier.getPortIdentifiers();// , причем через рас , а если второй раз вызвать Inicialisation , то все проходит ... Что за байда?
на сколько подвисает? может просто при первом вызове происходит нетривиальная инициализация которая требует много времени.
 
G

Guest

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

Guest

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

Kmet

Java Team
25.05.2006
1 036
8
#8
Вот сорти что я делаю , запускаю проект в эклипсе, жму cntrl+break , ничаго не происходит(проект в это время запущен..
вот подумай, тебе нужен дамп твоего приложения или эклипса? жми в консоли твоего приложение. еще вариант в debug view
 
G

Guest

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

Kmet

Java Team
25.05.2006
1 036
8
#10
ну это не выход, это костыль. я бы подключил бы сорцы и продебажил оба случая, библиотека не большая, много времени занять не должно
 
T

Tihiy

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

Guest

#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