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
Comunicação Serial usando a Fivewin
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
http://www.fivetechsoft.com/forums/view ... t=opencomm
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
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
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
http://support.microsoft.com/kb/105010/pt-br