Witam
Na początek potrzebujesz następujących obiektów:
- Enumeration portList - na liste wszystkich dostępnych portów w systemie
- CommPortIdentifier portId - identyfikator portu
- SerialPort serialPort - to co nas najbardziej interesuje
- OutputStream outputStream - strumień wyjściowy
- InputStream inputStream - strumień wejściowy
Jeśli chcesz aby przychodzące dane były wykrywane automatycznie twoja klasa musi implementować interfejs SerialPortEventListener
Oto fragment kodu:
portList = CommPortIdentifier.getPortIdentifiers();//pobieramy listę dostępnych portów
while (portList.hasMoreElements()) //szukamy portu
{
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL)
{
//jest port - ale czy ten, którego szukamy
if (portId.getName().equalsIgnoreCase("com1"))
{
try
{
//otwietramy port
serialPort = (SerialPort) portId.open("Nazwa_aplikacji", 2000);
//podłączamy strumienie
outputStream = serialPort.getOutputStream();
inputStream = serialPort.getInputStream();
serialPort.addEventListener(this); //dodajemy nasłuchiwanie
serialPort.notifyOnDataAvailable(true);//włączamy nasłuchiwanie
//tu jeszcze ustaw parametry transmisji
}
catch (Exception e) {System.out.println(e.getMessage());}
}
}
No i gotowe. Nadawanie - przy użyciu inputStream, odbiór automatyczny
Pozdrawiam
p.s. Poza dokumentacją polecam przykładowe aplikacje - dla pakietu javax.comm jest ich kilka :)