Sr. Antonio, eu vinha utilizando sem problemas as funções do fivewin para ler a porta serial:
local cDcb, nBytes
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
cretbalan:=space(250)
readcomm( nComm, @cretbalan )
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
Mais de uma hora para outra, ela passou a capturar os dados da porta COM1 pela metade:
HYPER TERMINAL = A0114499112255
FIVEWIN = A0114499
Sr Antonio, por favor, o que pode estar acontecendo?
![]()