galera, criei aqui a comunicação serial para receber dados, mas nao estou conceguindo fazer o inverso!!!
aqui vai o codigo do execute dah minha classe:
InputStream inputStream;/*o input stream está fora do execute porquê é
executado depois*/
public void execute() throws TooManyListenersException {
//pega a porta pelo S.O
String portName = getPortNameByOS();
//Retorna o identificador da porta
CommPortIdentifier portId = getPortIdentifier(portName);
// se o portId for nulo então nao há porta disponivel
if(portId != null){
try {
//abre a porta serial solicitada.
SerialPort serialPort = (SerialPort)portId.open(this.getClass().getName(), 2000);
//Pega o InputStream da Porta Serial
inputStream = serialPort.getInputStream();
//Cria um novo Listener de Eventos
serialPort.addEventListener(this);
//avisa se tive alguma mudança na porta serial
serialPort.notifyOnDataAvailable(true);
e aqui os eventos da classe:
public void serialEvent(SerialPortEvent event) {
switch (event.getEventType()){
case SerialPortEvent.BI:
case SerialPortEvent.OE:
case SerialPortEvent.FE:
case SerialPortEvent.PE:
case SerialPortEvent.CD:
case SerialPortEvent.CTS:
case SerialPortEvent.DSR:
case SerialPortEvent.RI:
case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
break;
case SerialPortEvent.DATA_AVAILABLE:
//se tiver dados desponiveis
int readBuffer;
String result= new String();
try {
int numBytes = 0;
while(inputStream.available() > 0) {
readBuffer = inputStream.read();
result = result + (char)readBuffer;
}
System.out.println("Resultado: " + result);
}
catch (IOException e) {}
break;
alguem poderia me mostrar a diretriz de como fazer o inverso?