Página 1 de 1

Windows 2000 - comunicação serial

Enviado: 14 Dez 2005 22:32
por jpalma
Colegas

Desenvolvi uma rotina que utiliza um teclado (tipo aqueles de banco) a fim de que o usuario possa dar entrada e saida de itens do estoque.
Este teclado esta conectado a porta serial do computador com WIN98.
A rotina utiliza a IOLIB para comunicação através da porta serial, e estava funcionado perfeitamente ate que meu cliente substituiu o WIN98 por WIN2000.
Após a troca por WIN2000 não consigo ler ABSOLUTAMENTE nada na porta serial. Já efetuei testes utilizando o WIN98 e esta tudo normal.
O que pode estar ocorrendo?


sds

Enviado: 15 Dez 2005 13:55
por jpalma
Pessoal

Ninguem trabalha com comunicação serial ?


grato

Para Wagner Nunes - Comunicação Serial

Enviado: 20 Dez 2005 14:04
por jpalma
Wagner

Você que já trabalha a bastante tempo com a IOLIB poderia me ajudar?


grato

Enviado: 20 Dez 2005 14:59
por rochinha
Amiguinho

Voce já verificou se o Win2000 tem instalada as portas COMs que voce utilizava no Win98.

No Win98 o mesmo da enderecos tipo 2eh8, 3ef8 para as portas verifique se estas mesmas configurações estão para a porta que voce usava.

Apesar de não saber se a IOLIB manipula estas portas utilizando estes endereços especificos e IRQs.

@braços :?)

Enviado: 21 Dez 2005 10:43
por vagucs
Cara,

O windows 2000 é uma cáca.

Vc pode compilar seu sistema no xHarbour pois as rotinas seriais para ele sao mais ilimitadas.

Ja no DOS, siga as orientações do rochinha, acho que é algo com a IRQ ou endereçamento ou possivel conflito ou enderço muito alto que o ODS nao consegue enxergar.

São muitas possibilidades de erro...

Enviado: 22 Dez 2005 14:38
por jpalma
Rochinha
No meu computador tenho instalado o WIN2000 e WIN98, e o programa funciona normalmente no 98 e não funciona no 2000.
As COM's estão ativas no 98 e 2000.


Vagner
Ha aproximadamente 01 adiquiri de você um CD e nele tinha as dicas para compilar meus programas utilizando o XHARBOUR, porem não menciona como LINKAR uma LIB.
Você poderia me dar um exemplo?
A IOLB funciona normalmente no xHARBOUR?

grato

Eu acho que tenho a solução

Enviado: 22 Dez 2005 16:40
por Paulao
Fiz hj uma sistema de ler cheque numa leitora serial e utilizei um programinha chamado Readbar que achei aqui no forum, e ta rodando em window 2000, se quizer posso mandar pra vc testar.
Grande abraço

Enviado: 22 Dez 2005 17:32
por jpalma
Paulao

Gostaria de receber o programa READBAR.

Meu email: jpalma@lognet.com.br


Desde já agradeço

Podia envia para mim tambem

Enviado: 27 Dez 2005 15:36
por joaoalpande
estou com o mesmo problema podia enviara pra mim tambem

wavetronic@net.novis.pt

Obrigado

Joao
Msn Messenger: wavetronic@net.novis.pt

Enviado: 28 Dez 2005 13:45
por jpalma
Paulao

Efetuei os procedimentos que você mencionou porem não entendi como funciona este programa.
Minha necessidade é LER o conteudo da porta serial, armazenar em uma variavel, mostrar valor da variavel ao usuário e após armazenar em um arquivo.
É possivel efetuar estes procedimentos ?

grato

Mesmo..

Enviado: 29 Dez 2005 07:15
por LuizHenrique
jpalma

estou com o mesmo problema.
preciso ler o conteudo da porta serial e armazena-lo.
estou usando a IOLIB tem as funçoes. Escrita está Ok, mas a leitura nao funciona..
Qualquer coisa me da um toke..
obrigado.

Enviado: 30 Dez 2005 13:33
por jpalma
Henrique

Somente tenho problemas com a IOLIB no WIN2000, porem no WIN98 esta tudo OK.
Utilizo a seguinte rotina para leitura da porta serial:

While .T.
inkey(0.05)
Buffer := INCHR(1)

If Buffer == Chr(4); EXIT; ENDIF
IF LASTKEY() == K_ESC; EXIT; ENDIF
IF EMPTY(Buffer); inkey(0.05); LOOP; ENDIF

Total += Buffer

End

Obrigado.

Enviado: 03 Jan 2006 07:41
por LuizHenrique
Vou Fazer Testes .
estava +ou- Parecida com a minha rotina.
Neste caso
eu Inicializaria a porta com INIT_PORT(......)
Utilizaria essa rotina para a leitura.

Como posso definir a Variavel Buffer? ... Char ?

estou com um ERRO no K_ESC, poderia usar como chr(27) ???

Se puder me enviar alguma rotina ou alguma coisa referente a apostilas e materiais de estudo pode enviar para luizhen@gmail.com

Obrigado!!!!!

Enviado: 03 Jan 2006 14:05
por jpalma
Luiz

Também utilizo a função INIT_PORT(......) para inicializar a porta.
A varivel FUFFER armazena a informação lida na porta serial utilizando-se a função INCHR(1).
Para interromper o WHILE você deverá verificar o caracter de FIM de mensagem enviado pela dispositivo que esta conectado a porta serial.
Para tanto, verifique o conteudo da variavel TOTAL.
Você pode substituir o ESC por CHR(27).
Toda informação que utilizei esta na pagina do Vagner Nunes, e a rotina é a que postei.


sds