Problemas em configurar base de um leitor de código de barras

1 resposta
D
Olá pessoal, estou com o seguinte problema, preciso configurar a base de um leitor de código de barras CipherLab modelo 8300L, para que eu possa ler os dados do mesmo direto na COM (RS-232). Para isto consegui o seguinte código em Delphi o qual preciso transformar para java:
Resultado:= ComOpen (nCanal, 57600, nBits, nStop, nParid,

                        nTxFlow, nRxFlow, wTxBuffer, wRxBuffer);                                 //Deve ser utilizada a velocidade padrão do berço

 

    //Verificação de velocidade

    Resultado:= ComClearTxRx(nCanal);

 

    Resultado:=ComSetDTR(nCanal,COM_OFF);

    Tempo100mseg();

    Resultado:=ComSetRTS(nCanal,COM_ON);

    Tempo100mseg();

    Resultado:=ComSetDTR(nCanal,COM_ON);

    Tempo100mseg();

    Resultado:=ComSetRTS(nCanal,COM_OFF);

    Tempo100mseg();

    Buffer_Registro[1]:= chr($0F);

    Resultado:=ComTxData(nCanal,@Buffer_Registro, 1);

    Tempo100mseg();

 

    Resultado:= ComGetnRx(nCanal);

    If Resultado > 0 then

    begin

        Rasc[1]:= ComRxChar(nCanal);

        If (Rasc[1] = $0F) then

        begin

            Resultado:= ComClearTxRx(nCanal);

 

            //Inicia a configuração do berço

            Resultado:=ComSetRTS(nCanal,COM_ON);

            Tempo100mseg();

 

            Resultado:=ComSetRTS(nCanal,COM_OFF);

            Tempo100mseg();

            Buffer_Registro[1]:= chr($07);

            Resultado:=ComTxData(nCanal,@Buffer_Registro, 1);

            Tempo100mseg();

            Buffer_Registro[1]:= chr($36);                                     //Configura para 115200

            Resultado:=ComTxData(nCanal,@Buffer_Registro, 1);

            Tempo100mseg();

            Buffer_Registro[1]:= chr($51);

            Resultado:=ComTxData(nCanal,@Buffer_Registro, 1);

            Tempo100mseg();

            Resultado:=ComSetRTS(nCanal,COM_ON);

            Tempo100mseg();

 

            frmFerramentas.Visible:= FALSE;

            Result := True;

            exit;

        end;

    end;
Segue a configuração.

nBits= 8; // Caracter de comunicação de 8 bits

nStop= 1; // Caracter de comunicação com 1 stop bit

nParid= COM_NONEP; // Caracter de comunicação sem paridade

nTxFlow= COM_NOFLOW; // Sem controle de fluxo de transmissão de comunicação

nRxFlow= COM_NOFLOW; // Sem controle de fluxo de recepção de comunicação

wTxBuffer= 1024; // Buffer de transmissão de 1024

wRxBuffer= 1024; // Buffer de recepcção de 1024

Tenho o seguinte código em java:
try {
			porta = (SerialPort) cp.open("Coletor", timeout);
			PortaOK = true;
			System.out.println("Porta aberta com sucesso!");
			//configurar parâmetros
			porta.setSerialPortParams(baudrate, SerialPort.DATABITS_8,
					SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
			
		} catch (Exception e) {
			PortaOK = false;
			System.out.println("Erro ao abrir a porta! STATUS: " + e);
			System.exit(1);
		}
Gostaria de saber como faço para enviar em java os parâmetros:
nTxFlow= COM_NOFLOW; // Sem controle de fluxo de transmissão de comunicação

nRxFlow= COM_NOFLOW; // Sem controle de fluxo de recepção de comunicação

wTxBuffer= 1024; // Buffer de transmissão de 1024

wRxBuffer= 1024; // Buffer de recepcção de 1024

Agradeço se alguém tiver uma dica de como resolver este problema. Se alguém tiver um exemplo e puder me enviar agradeço.

1 Resposta

P

Faz o seguinte:

try {
 			porta = (SerialPort) cp.open("Coletor", timeout);
 			PortaOK = true;
 			System.out.println("Porta aberta com sucesso!");
 			//configurar parâmetros
 			porta.setSerialPortParams(baudrate, SerialPort.DATABITS_8,
 					SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
//Sem controle de fluxo
porta.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
 			
 		} catch (Exception e) {
 			PortaOK = false;
 			System.out.println("Erro ao abrir a porta! STATUS: " + e);
 			System.exit(1);
 		}

Eu comunico com a serial e não passo o buffer de transmissão e recepção e aqui funciona blz.
Testa aí, qualquer coisa posta de novo.

Criado 24 de agosto de 2006
Ultima resposta 24 de ago. de 2006
Respostas 1
Participantes 2