Página 1 de 1

Problemas com serial no QT

MensagemEnviado: 20 Mar 2015 09:17
por mastk
Pessoal, estou com um problemas ao lidar com portas serial no QT, ao abro a porta e nao ocorre comunicacao, ao que parece eh controle de fluxo, estou fazendo o seguinte algoritmo:

Abro a serial.
Seto os numero de bits.
Seto o controle de fluxo.
Seto a paridade.
Seto Baudrate.
Seto o numero de bits de parada.
Desligo o envio de break.

E a porta envia a quantia de bytes que eu quero, porem, tudo em 0x00.
O que estou fazendo de errado?

Re: Problemas com serial no QT

MensagemEnviado: 20 Mar 2015 15:59
por mastk
Por acaso eh errado fazer isso...

cpp code
#include <bla bla.h>
#include <QserialPort.h>

QSerialPort serial;

void main (void){
serial.setPortName("BuracoDaSuaMae");
serial.Open();
serial.Write("Grande e grosso");
serial.close();

}



Deveria eu instancia a classe dentro do main()?

Re: Problemas com serial no QT

MensagemEnviado: 04 Abr 2015 19:18
por Rodrigo_P_A
Onde estão os parâmetros?

Re: Problemas com serial no QT

MensagemEnviado: 05 Abr 2015 09:49
por Red Neck Guy
No embarcados.com.br tem um post bem legal sobre isso.
Acho que o teu problema é a falta dos parâmetro correto no mé todo open.

Re: Problemas com serial no QT

MensagemEnviado: 05 Abr 2015 10:59
por Rodrigo_P_A
Outra coisa que percebi é que VC num iniciou p core do qt chamando o QApplication antes de qualquer outra coisa, não sei se isso influência no Qtserial.

Declarado fora do main VC declarou como global e pode acessar a classe em qualquer parte do programa.

Re: Problemas com serial no QT

MensagemEnviado: 14 Abr 2015 15:04
por mastk
Acabei omitindo porque que pensava que o erro era relacionado com o modo de instanciar a porta, o que eu quero eh justamente, ter ela como global inicialmente, acessivel em qualquer ponto, enviar comandos e receber dados, sem bloquear o codigo, o problema que parece que soh recebo legal se chamar a subrotina, serial.waitforread( n milisegundos); e mesmo se usar ela por curtos periodos ciclicamente, nao pego os dados de forma segura e o meu programa fica engasgando.