Page 1 of 1

Comunicação Serial usando a Fivewin

PostPosted: Mon Dec 01, 2008 6:34 pm
by sygecom
Olá a Todos,

Alguem usa a FIVEWIN para comunicação serial ?

A principio fiz uns teste com ela e funcionou muito bem, peguei os exemplos aqui do forum e da pasta SAMPLES, mas encontrei dois problemas, um é quando as portas COM são maior que 9, ex: COM10, COM11, COM12 e etc... ele não abre as portas, e outro é usando o TS(Terminal Service). Pelo Hiper Terminal funciona, porem pela Fivewin não funciona, até abre a porta, porem não faz a leitura da porta.
Alguem pode me ajudar nessas duas questões ?

Obrigado

PostPosted: Mon Dec 01, 2008 7:22 pm
by MGA
Amigão, eu venho utilizando sem problemas. Porém só testei até a COM9. Então não posso te falar se tem algum problema acima da COM9.

PostPosted: Mon Dec 01, 2008 7:37 pm
by sygecom
E com TS(Terminal Service) já testou ? fiz teste aqui com Hyper terminal do Windows e o mesmo leu minha balança local, usando o terminal service, porem pela LIB da Fivewin não deu certo.

PostPosted: Mon Dec 01, 2008 7:47 pm
by sygecom
E nesse link abaixo pelo que entendi explica como usar portas acima da COM9, porem testei com esse MYOPENCOMM e também não deu certo.
http://www.fivetechsoft.com/forums/view ... t=opencomm

PostPosted: Mon Dec 01, 2008 7:51 pm
by MGA
Não testei com TS.


uso estas funções:

local cDcb, nBytes,A
local nComm := OpenComm( "COM1", 1024, 128 )
local nError,x,cmsg,CTES,cret,npos,cretbalan


if ! BuildCommDcb( "COM1:19200,n,8,1", @cDcb )
nError = GetCommError( nComm )
MsgInfo( "BuildCommDcb Error: " + Str( nError ) )
endif

if ! SetCommState( nComm, cDcb )
nError = GetCommError( nComm )
MsgInfo( "SetCommState Error: " + Str( nError ) )
endif


if ( nBytes := WriteComm( nComm, chr(5) ) ) < 0

nError = GetCommError( nComm )
MsgInfo( "WriteComm Error: " + Str( nError ) )
else

readcomm( nComm, @cretbalan )

endif

if FlushComm( nComm, 0 ) != 0
nError = GetCommError( nComm )
MsgInfo( "FlushComm Error: " + Str( nError ) )
endif

if ! CloseComm( nComm )
nError = GetCommError( nComm )
MsgInfo( "CloseComm Error: " + Str( nError ) )
endif

PostPosted: Mon Dec 01, 2008 8:03 pm
by sygecom
É assim que estou usando aqui e localmente funciona muito bem por sinal, diria até melhor que a hbcomm. porem só estou com esses dois pequenos problemas de usar em TS e de usar portas alem da COM9.

Se alguem mais tiver alguma dica agradeço.

PostPosted: Mon Dec 01, 2008 9:09 pm
by sygecom
Pelo o que pude entender no link abaixo diz que isso é limitado mesmo na OPENCOMM() sobre a COM9 em diante.
http://support.microsoft.com/kb/105010/pt-br