Acessar porta serial Com1

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Buscape
Usuário Nível 1
Usuário Nível 1
Mensagens: 3
Registrado em: 21 Set 2007 20:27
Localização: OURINHOS-SP

Acessar porta serial Com1

Mensagem por Buscape »

Amigos preciso acessar a porta serial Com1 atraves de linhas de comando no Clipper 5.2 e pegar dados para serem usados pelo sistema. Alguem pode me ajudar a acessar a porta serial?
antenciosamente ...
saudações
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Existem no fórum diversos tópicos que tratam desse assunto. Se fizer uma busca no fórum pela palavra "serial", vários links serão informados.

De imediato posso recomendar a você que utilize a biblioteca CATools que tem uma série de funções própria para comunicação serial. Se não me falha a memória, ela conta também com alguns exemplos de uso. Se não a tiver, pegue-a no meu site, clicando aqui. Instale-a na mesma ordem em que aparecem os três arquivos listados.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
dbsh
Usuário Nível 3
Usuário Nível 3
Mensagens: 128
Registrado em: 14 Jul 2004 14:19
Localização: ES

Re: Acessar porta serial Com1

Mensagem por dbsh »

boa noite.

tente o codigo a seguir:

Código: Selecionar todos

FUNCTION AbrePortaComm( nPorta, nVel, cPar, nBit, nStop, nIrq, cIo, nBufferIn, nBufferOut, lTrapMode)

IF Empty( nPorta )
    RETU .F.
ENDIF

DEFA nVel to 9600 //ECF, Leitor CodBarra Serial 9600, Balanca 2400
DEFA cPar TO "N"
DEFA nBit TO 8
DEFA nStop TO 1
DEFA nIrq TO 0
DEFA cIo TO ""
DEFA nBufferIn TO 1000 //buffer de entrada
DEFA nBufferOut TO 1000  //buffer de saida
DEFA lTrapMode TO .F.

//windows 98: multiserial e algumas placa mae nao abre porta se nao definir
//windows XP deve ignorar, dara mensagem de erro, acesso formato 16 bits
IF !Empty( nIrq )
    IF !com_setirq( nPorta, nIrq )
        //erro
        RETU .F.
    ENDIF
ENDIF

//windows 98: multiserial e algumas placa mae nao abre porta se nao definir
//windows XP deve ignorar, dara mensagem de erro, acesso formato 16 bits
IF !Empty( cIo )
    IF !com_setio( nPorta, cIo )
        //erro
        RETU .F.
    ENDIF
ENDIF

IF !Com_Open( nPorta, nBufferIn, nBufferOut, lTrapMode )
    //erro
    RETU .F.
ENDIF

IF !com_init( nPorta, nVel, cPar, nBit, nStop )
    //erro
    RETU .F.
ENDIF
010011110010000001110011011101010110001101100101011100110111001101101111001000001110100100100000011000110110111101101110011100110111010001110010011101011110110101100100011011110010000001100001001000000110111001101111011010010111010001100101
01001101011000010111001001100011011011110111001100100000010000010110111001110100011011110110111001101001011011110010000001000100011001010010000001000010011011110110111001101001
0101010001100101011011000011101000100000001010000011001000110111001010010011100100101101001110010011100000110100001100110010110100110101001100100011100100110000
Avatar do usuário
Bisteca
Usuário Nível 2
Usuário Nível 2
Mensagens: 74
Registrado em: 10 Jan 2005 10:25

Re: Acessar porta serial Com1

Mensagem por Bisteca »

Amigo escovador de bits, tenho um pequeno soft que fiz, onde abro a porta serial envio comandos e recebo os retornos.
É só enviar um e-mail que te respondo com os códigos fontes.
Valeu....
Responder