SetSerialPortParams not Working (RXTX)!?

4 respostas
banger

fala galera blz??

Seguinte, estou utilizando a api rxtx para comunicação com a porta serial, estou com este erro a algum tempo e descobri que o setParams não está funcionando corretamente, fiz uns testes e percebi que a paridade nao está sendo setada como even como gostaria, mas continua como none, verifiquei se ele está lendo a config da porta e está ok, mas nao consigo descobrir o pq de continuar como none se estou setando como even.

será que alguem poderia me ajudar a ver este problema??

segue o metodo conect que configura a porta:

public void Connect() {
      // inicializa a conexo com a porta serial

       try {
           //tenta abrir a porta
           serialPort = (SerialPort) portId.open("principal", 2000);
       } catch (PortInUseException a) {}

       try {
           //pega as infos enviadas pela porta
           inputStream = serialPort.getInputStream();
       } catch (IOException d) {}

       try {
           serialPort.addEventListener(this);
       } catch (TooManyListenersException f) {}

       // ativa a notificação DATA_AVAILABLE
       serialPort.notifyOnDataAvailable(true);

       try {
         // seta os parâmetros da porta
         serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8,
                 SerialPort.STOPBITS_1,
                 SerialPort.PARITY_EVEN);

         serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);

         
       } catch (UnsupportedCommOperationException e) {}
       // inicia a thread de leitura
       ReadThread = new Thread(this);
       ReadThread.start();
   }

desde já agradeço!

4 Respostas

E

Não é por nada não, mas não seria melhor configurar primeiro a porta, e depois pegar a InputStream?

banger

certo, mas mesmo assim continua dando erro na saida, e eu naum consigo descobrir o pq! a entrada ta blz soh a saida tah indo zuada, eu procurei ver se naum eram dados corrompidos imprimindo o que eu envio na tela, mas está certo

banger

entanglement:
Não é por nada não, mas não seria melhor configurar primeiro a porta, e depois pegar a InputStream?

vou mandar o codigo de iniciar saida :

//inicia a escrita na porta
   public void initwritetoport() {

      /* a inicialização da escrita na porta assume
       * que o Connect() metodo ja esteja ativo
       */


      try {

         // pega a outputStream
         outputStream = serialPort.getOutputStream();
         running = true;
      } catch (IOException a) {}

      try {
         // ativa OUTPUT_BUFFER_EMPTY notifier
         serialPort.notifyOnOutputEmpty(true);
      } catch (Exception b) {
         JOptionPane.showMessageDialog(null, "Error setting event notification");
         System.out.println(b.toString());
         System.exit(-1);
      }

   }
banger

no more coments??

Criado 3 de agosto de 2010
Ultima resposta 3 de ago. de 2010
Respostas 4
Participantes 2