Serial port rs232

0

Witam.
Prosze o wskazówki jak wysyłać i odbierać stringi z portu com, chodzi mi o program coś w rodzaju hyperterminala...
pozdrawiam

-------edit--------
http://java.sun.com/products/javacomm/javadocs/javax/comm/SerialPort.html
poczytałłem i dalej nie wiem ;(

0

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 :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1