porta.addEventListener(this);
import java.util.Enumeration;
import javax.comm.*;
/**
*
* @author Rafael
*/
public class serial{
//private String[] portas;
private SerialPort porta;
/** Creates a new instance of serial */
public static javax.comm.SerialPort getserial() throws Exception{
String[] portas;
//detecta as portas disponiveis
Enumeration listaDePortas;
listaDePortas = CommPortIdentifier.getPortIdentifiers();
int i = 0;
portas = new String[10];
while(listaDePortas.hasMoreElements()) {
CommPortIdentifier ips =
(CommPortIdentifier)listaDePortas.nextElement();
portas[i] = ips.getName();
System.out.println(portas[i]);
i++;
}
//abrir a porta
int baudrate = 9600; //bits por segundo
CommPortIdentifier cp;
cp = CommPortIdentifier.getPortIdentifier("COM1"); //retorna um identificador da porta escolhida
SerialPort porta = (SerialPort)cp.open("serial",1000); //abrindo a porta por um segundo
porta.setSerialPortParams(baudrate, porta.DATABITS_8, porta.STOPBITS_2, porta.PARITY_NONE);
return porta;
}
}
public void atualizaInfo(SerialPortEvent ev){
/*try{
serial se = new serial();
InputStream entrada = se.getserial().getInputStream();
}catch(Exception e){
System.out.println("Erro: " + e.getMessage());
}*/
serial se = new serial();
try {
SerialPort porta;
porta = se.getserial();
porta.addEventListener(this); //adiciona o gerenciador de eventos
porta.notifyOnDataAvailable(true);
} catch (Exception ex) {
ex.printStackTrace();
}
}
estou usando os imports: import javax.comm.SerialPort, import javax.comm.SerialPortEvent.
naum sei se é importante essa informação mas estou usando o netbeans 5.5 e tenho ja o comm instalado e configurado corretamente na minha maquina, ja testei ele dando um getPort para verificar as portas disponiveis.
Desde ja agradeço.
Vlw