Problema na comunicação com a COM1

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Problema na comunicação com a COM1

Mensagem por Clipper »

Prezados Colegas

Está acontecendo o seguinte problema quando tento comunicar com uma balança pela porta serial, o windows me retorna o erro da figura abaixo, se clico em Ignorar aí o sistema passa a funcionar normalmente fazendo toda a comunicação sem problemas, se eu finalizar o programa e abrir novamente acontece o mesmo, ou seja, sempre na primeira pesagem preciso clicar em Ignorar. Algum de vocês sabe o motivo e ou como contornar/corrigir este problema ?

Imagem

Essa outra mensagem abaixo aparece em um outro computador, esse eu não testei se funciona após eu clicar em ignorar, eu não tinha nenhuma balança para testar, o interessante é que no outro micro se não tiver a balança conectada o erro continua sendo o da figura 1.

Imagem


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)
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Problema na comunicação com a COM1

Mensagem por sygecom »

Olá Marcelo,
Post parte do codigo que vc usa para se comunicar com a porta serial. Se esta usando CA-TOOLS, ou IOLIB ou outra lib para comunicação serial.
Tentou ir colocando um alert("aqui") para ver em que parte do seu codigo que esta acontecendo esse erro ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Re: Problema na comunicação com a COM1

Mensagem por Clipper »

Prezado Leonardo

Estou usando as funções da Clipper Tools.

A fução que faz a comunicação é essa :

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
   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)
itqtd=peso
if cappeso=.t.
    return(.t.)
else
   msg("falha na captura do peso !",1,2)
   return(.f.)
endif
return(.t.)
O erro acontece exatamente na linha -> com_init(1, 9600, "n", 8, 1)

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)
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Problema na comunicação com a COM1

Mensagem por sygecom »

Marcelo eu sempre usei assim e nunca tive problemas:

COM_OPEN(1, 1, 1)
COM_INIT(1, 1200, "N", 8, 1)

Sendo que a porta no Windows eu configurava tmb. para 1200, no seu caso mude para 9600 tanto no codigo como no Windows.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Re: Problema na comunicação com a COM1

Mensagem por Clipper »

Pois é...

Aí é que está o problema, a balança está configurada para 9600,n,8,1, a porta COM1 no Windows está para 9600,n,8,1 e no meu sistema também para 9600,n,8,1.

O que eu acho estranho é que só acontece o erro na primeira comunicação, depois tudo funciona perfeitamente enquanto não for fechado o sistema.

:^|

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)
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: Problema na comunicação com a COM1

Mensagem por alaminojunior »

Não é muito a minha praia, mas notei que você está tentando fechar a porta e depois abrir, prevendo talvez que ela já esteja aberta. Quem sabe fechando a porta no momento em que encerrar a rotina. E também, será que o comando para fechar a porta está funcionando ?
Desculpe se falei besteira.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Re: Problema na comunicação com a COM1

Mensagem por ANDRIL »

Pode ser que este aviso seja por que já exista um dispositivo conectado a COM1 e ao escolher IGNORAR o seu programa passa a controlar a porta.

Já tentou mudar a sua rotina para COM2 e ver se dá o mesmo erro?

Outra coisa que notei é, se abro o sistema e faço o uso da porta COM1 mesmo no final da rotina fechando a porta, se abrir outro sistema em paralelo e tentar fazer a leitura, me da um aviso semelhante ao seu. Será que este dispositivo não pode ser usado "compartilhado" ?

Ate+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Problema na comunicação com a COM1

Mensagem por sygecom »

Olá Marcelo,
Tentou usar a IOLIB para ver se acontece o mesmo problema ?
No SITE do vagucs tem a LIB com exemplo:
http://www.vagucs.com.br/dwclipper/iolib.zip
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Re: Problema na comunicação com a COM1

Mensagem por Clipper »

Prezados Colegas

Funcinou direitinho no meu cliente.

Era frescura aqui do meu micro.

Valeu !

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)
Responder