Input para barra serial, mas com duvida no output!?

0 respostas
banger

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?

Criado 8 de abril de 2010
Respostas 0
Participantes 1