Serial port javax.comm problem

3 отговора 168 прегледа
#1

Serial port javax.comm problem

Problemam mi e slednia: izpolzvam edin i sa6t kod i na razli4ni ma6ini. Pri laptop Toshiba uspiawam da otvoria seriennia port, no pri PC Acer y HP ne uspiavam vapreki 4e v bios sa aktivirani COM1 i COM2 i mi markira na catch: NoSuchPortException. Eto 4ast ot koda:

import java.util.*;
import javax.comm.*;
import java.io.*;




public class Prb_Status {



public int[] status() {
int[] a = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };

SerialPort serialPort = null;
OutputStream outputStream = null;
InputStream inputStream = null;

try {
serialPort = (SerialPort)CommPortIdentifier.getPortIdentifier("COM1").open("COM1", 2000);
} catch (PortInUseException piue) {
System.out.println("Exception : Port in use");
} catch (NoSuchPortException nspe) {
System.out.println("Exception : No such port");
}

Отговор
в отговор на novac #2

Re: Serial port javax.comm problem

javax.comm имплементацията на Sun ли ползваш?

Като за начало пробвай да разпечаташ всички налични серийни портове. Ако не излезе нищо, най-вероятно не ти е инсталиран comm пакета като хората, или нещо не го кефи как си го инсталирал - което понякога може да се случи дори и да си направил всичко стъпка по стъпка от документацията. Обикновено проблемът е, че не успява да отвори javax.comm.properties. Това се проверява най-лесно като зададеш директно при стартиране VM-то -DDriver=com.sun.comm.Win32Driver - след това би трябвало работи като хората.

Отговор
в отговор на novac #3

Re: Serial port javax.comm problem

Кажи поне с кое JDK си и с коя OS
Както вероятно знаеш COMМ support-a НЕ Е част от JSDK-то - инсталира се допълнително като за различните OS има някои специфики.

1.Linux -Sun имат отскоро(от JDK 5.0) собствена поддръжка за Linux системи(доскоро се правеше с RXTX driver който се препоръчва от Sun но все пак не беше техен - и съответно си измиваха ръцете ако нещо се ебава).
2.Win & SOlaris - имали са си винаги support от Sun.

Прочети хубаво install-а
- javax.comm.properties дали си е на мястото
- comm.jar дали ти е в CLASSPATH на Java
- дали съответния OS-specific libLinuxSerialParallel.so си е на мястото

И изобщо енумерирай всички портове и дебугвай докато си сигурен че се открива на съответната машина и чак тогава минавай нататък.

Отговор
в отговор на SuperiorELf #4

Re: Serial port javax.comm problem

Blagodaria vi. Razre6ih problema (kato postavih javax.comm.properties v sdk/lib, sdk/jre/lib, jre/lib).
Spored ReadMe s sdk/lib e dostata4no no v moia slu4ai ne.

Отговор