apanhando da serial

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Grace
Usuário Nível 1
Usuário Nível 1
Mensagens: 3
Registrado em: 25 Jun 2010 12:10
Localização: Florianopolis

apanhando da serial

Mensagem por Grace »

Estou perdida... nao estou entendo se o meu problema esta no compilador ou se é algum detalhe que nao estou enxergando... ou...

O que eu tenho aqui para fazer os testes

um pc com windows xt e o seguinte:

um executavel chamado diagtoledo que mostra que a balanca e a comunicacao esta funcionando

quando seto com1, 4800, 8, n, 1 ele fica pegando o peso direto - le milhares de vezes enquanto o programa roda
se passo para com1, 4800, 7, n, 1 ele pega o peso bonitinho uma vez só.

bom, agora o que estou fazendo

- usando clipper 5.2e, ct.lib (do catools 52) que baixei do site buzinello por aqui

fiz o seguinte (perceba as apelacoes dos prints e wait) - me basei num fonte que baixei daqui tb

Ah - tb tentei compilar com a ctp.lib mas apareceme uma mensagem de erro apos linkeditar - _D16ProtectedPtr - e nao funciona...Entao desisti e voltei ao ct.lib

Código: Selecionar todos

*p1.prg
texto="oi"
peso=500
*
peso=chamabal() 
? 
? "------------"
?  texto
?  peso 
return
Function CHAMABAL 
 texto="passei aqui"
 COM_CLOSE(1) 
 COM_OPEN(1, 1, 1) 
 COM_INIT(1, 4800, "N", 8, 1) 
 COM_HARD(.F.) 
 W_PESO:="" 
 W_LETRA:="" 
 wvez=1
 DO WHILE .t.  &&wvez<= 5000
    IF COM_COUNT(1) > 0 
       W_LETRA := COM_READ(1, 1) 
       IF !W_LETRA$"0123456789" 
          W_PESO := "" 
       ELSE 
          W_PESO = W_PESO+W_LETRA 
       ENDIF 
    ENDIF 
    
   wvez++
   ? "letra ", W_letra
   ? "w_peso", w_peso
   ? "com_count", com_count(1)
   WAIT
    IF LEN(ALLTRIM(W_PESO)) = 5 
*       EXIT 
    ENDIF 
 ENDDO 
 
 W_PESO = ALLTRIM(W_PESO) 
 COM_CLOSE(1) 
 Return(VAL(W_PESO)) 



Tem alguma ideia do que eu possa fazer?
Editado pela última vez por Maligno em 09 Jul 2010 13:00, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Re: apanhando da serial

Mensagem por rochinha »

Amiguinha,

Pelo que pude perceber, ser código sofreu muitas modificações e voce não esta temporizando as respostas afim de pegar um conteudo plausivel.

viewtopic.php?f=1&t=8487&p=47551&hilit=com+open

Neste tópico encontramos uma leitura de balança usando as mesmas funções, mas com temporização das ações e critica do conteudo retornado.

Talvez voce não esteja dando o tempo necessário para que a porta retorne o conteudo e voce consiga pegar algum resultado.

Se for o caso use a IOLIB( http://www.vagucs.com.br/dwclipper/iolib.zip ) apesar de relatar casos de sucesso e critica em relação a CT.

Neste post voce encontra outra contribuição que usa a CT.

Leitura de equipamentos requer abertura, leitura, critica da leitura, tratamento e fechameto.

A velocidade de leitura de sua função pode fazer com que o conteudo venha pulado ou seja, se voce estiver lendo a sequencia 123456789 e sua rotina for mais rapida que o recebimento voce obterá algo como 13589, portanto controle o tempo de leitura e intercale entre elas.
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.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: apanhando da serial

Mensagem por Toledo »

Oi Grace, dê uma olhada no tópico abaixo:

https://pctoledo.org/forum/viewto ... p=189#p189

A lib IOLIB segue em anexo.
Anexos
iolib.zip
Biblioteca IOLIB
(15.61 KiB) Baixado 85 vezes
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Responder