Comunicação Serial
Moderador: Moderadores
-
supgaroto
- Usuário Nível 2

- Mensagens: 51
- Registrado em: 19 Ago 2003 14:24
- Localização: Rua Aristotoles Fernandes Valdares, 1190
Comunicação Serial
Preciso fazer comunicação do meu programa com um aparelho Identificador de chamadas. Já fiz muitos testes usando os comandos CATOOLs mas não consegui nada. Tenho um manual com os protocolos de comunicação. O aparelho é IDC PC1000. Ele comunica usando porta serial. Estou disponibilizando o manual.
- Anexos
-
Protocolo CPA1000 e CPA 1000 DTMF.doc- Manual contendo os Protocolos de comunicação
- (37 KiB) Baixado 238 vezes
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Comunicação Serial
Amiguinho,
Se voce der uma pesquisada aqui no forum por bina+vagucs irá encontrar algo a respeito inclusive com informações sobre um resistor que vc terá de acoplar para que o sinal tenha mais efeito.
Se voce der uma pesquisada aqui no forum por bina+vagucs irá encontrar algo a respeito inclusive com informações sobre um resistor que vc terá de acoplar para que o sinal tenha mais efeito.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
supgaroto
- Usuário Nível 2

- Mensagens: 51
- Registrado em: 19 Ago 2003 14:24
- Localização: Rua Aristotoles Fernandes Valdares, 1190
Comunicação Serial
Não estou querendo fazer isso ligando direto no moldem. Estou usando um aparelho chamando IDC PC1000 ele recebe o sinal da linha telefonica e transfere para o pc via serial ou usb. No meu caso estou preciso com mais urgencia Serial.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Comunicação Serial
Amiguinho,
Encontre os tópicos com a mesma chave que passei, lá voce encontra também informações sobre a IOLib.
Para Clipper é uma das mais simples de implementar.
Encontre os tópicos com a mesma chave que passei, lá voce encontra também informações sobre a IOLib.
Para Clipper é uma das mais simples de implementar.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
supgaroto
- Usuário Nível 2

- Mensagens: 51
- Registrado em: 19 Ago 2003 14:24
- Localização: Rua Aristotoles Fernandes Valdares, 1190
Comunicação Serial
Não consegui achar nada que possa me ajudar!!
Estou usando essa função que é a mesma que uso para receber informações da balança:
Me ajudem a encontrar onde esta o erro! Pq se é só ler a porta serial, essa função deveria funcionar ou estou enganado o identificador de chamada necessita de algum comando pra enviar a informação pra porta serial?
Estou usando essa função que é a mesma que uso para receber informações da balança:
Me ajudem a encontrar onde esta o erro! Pq se é só ler a porta serial, essa função deveria funcionar ou estou enganado o identificador de chamada necessita de algum comando pra enviar a informação pra porta serial?
Código: Selecionar todos
conta=0
cappeso=.f.
xPeso := ""
do while .t.
com_close(1)
com_open(1, 1024, 1024)
com_init(1, 4800, "N", 8, 1)
com_hard(.f.)
millisec(500)
cinput := com_read(1)
if empty(cinput)
inkey(.1)
conta++
else
if substr(cinput,1,1)=chr(2)
xpeso:=substr(cinput,2,20)
cappeso=.t.
exit
endif
inkey(.1)
conta++
endif
? xPeso
enddo
com_close(1)
if cappeso=.t.
Alert("NÆo deu certo")
else
alert("ok "+XPeso)
endif
return(.t.)
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Comunicação Serial
Amiguinho,
Se este código funciona com a balança não mexa.
Mas voce deve procurar não funções desta biblioteca de funções de comunicação outras funções de configurações como as pedidas no manual.
O manual diz:
A IOLib possui estes comandos, veja no manual.
Faça uma busca no forum por IOLib garanto que irá encontrar mais dicas.
Se este código funciona com a balança não mexa.
Mas voce deve procurar não funções desta biblioteca de funções de comunicação outras funções de configurações como as pedidas no manual.
O manual diz:
Voce vai precisar setar DTR e RTS além de seguir a risca os comandos de ativação.Como o antigo, só usa TX e RX, mas para que o cabo funcione é necessário, que se deixe o DTR ativado e o RTS desativado.
A comunicação é feita em 4800,n,8,1.
Para iniciar qualquer comunicação, o PC deve 'enviar' um BREAK...
A IOLib possui estes comandos, veja no manual.
Faça uma busca no forum por IOLib garanto que irá encontrar mais dicas.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Comunicação Serial
Ola estou com mesmo problema.
tenho uma balança da Toledo portanto não teria como postar esse codigo corrigido para que eu tenha uma base no que você fez?
grato.
tenho uma balança da Toledo portanto não teria como postar esse codigo corrigido para que eu tenha uma base no que você fez?
grato.
Comunicação Serial
Prezado Colega
Uso balanças Toledo Modelo Prix III em meu sistema, veja abaixo um exemplo que funciona perfeitamente :
Observações :
1 - No meu caso utilizo as funções de comunicação da Clipper Tools Lib, mas se preferir basta adaptar para a IO.LIB.
2 - Lembrando que você deverá configurar a balança e o adaptar o código acima conforme sua necessidade. No caso acima está para uso com o protocolo PR3 da Toledo.
Até logo.
Marcelo
Uso balanças Toledo Modelo Prix III em meu sistema, veja abaixo um exemplo que funciona perfeitamente :
Código: Selecionar todos
*-------------------*
FUNCTION CHAMABAL()
*-------------------*
COM_CLOSE(1)
COM_OPEN(1, 1024, 1024)
COM_INIT(1, 9600, "N", 8, 1)
COM_HARD(.F.)
CONTA=0
CAPPESO=.F.
PESO=0
DO WHILE CONTA<50
COM_SEND(1,CHR(5))
INKEY(.1)
CINPUT:=COM_READ(1)
IF EMPTY(CINPUT)
INKEY(.1)
CONTA++
ELSE
IF SUBSTR(CINPUT,1,1)=CHR(2)
PESO=VAL(SUBSTR(CINPUT,2,6))
CAPPESO=.T.
EXIT
ENDIF
INKEY(.1)
CONTA++
ENDIF
ENDDO
COM_CLOSE(1)
KILO=SUBSTR(STR(PESO,5),1,2)
GRAMAS=SUBSTR(STR(PESO,5),3,3)
PESOC=KILO+"."+GRAMAS
PESO=VAL(PESOC)
IF PESO<0.100 .AND. PESO>0.09
PESOC="0.0"+(LTRIM(GRAMAS))
ELSEIF PESO<0.010
PESOC="0.00"+(LTRIM(GRAMAS))
ENDIF
PESO=VAL(PESOC)
ITQTD=PESO-PTAR
PRECO=ITUNI*ITQTD
IF CAPPESO=.F.
MSG("Falha na captura do peso !",1,2)
ENDIF
RETURN(.T.)
1 - No meu caso utilizo as funções de comunicação da Clipper Tools Lib, mas se preferir basta adaptar para a IO.LIB.
2 - Lembrando que você deverá configurar a balança e o adaptar o código acima conforme sua necessidade. No caso acima está para uso com o protocolo PR3 da Toledo.
Até logo.
Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)

