Limpieza buffer puerto comm
Posted: Mon May 09, 2022 2:51 pm
Hola buenas tardes para todos,
Resulta que tenemos instalada una bascula, la cual registra la lectura en forma continua, CTP20, después de varias horas de trabajo, la lectura se bloquea, y el proceso de SETEAR el puerto COMM, comienza a salir error. De momento para solucionar el problema, se reinicia el computador y todo vuelve a la normalidad. Quisiera intentar limpiando el buffer del COMM, para evitar tener que reiniciar la maquina.
De antemano gracias
Resulta que tenemos instalada una bascula, la cual registra la lectura en forma continua, CTP20, después de varias horas de trabajo, la lectura se bloquea, y el proceso de SETEAR el puerto COMM, comienza a salir error. De momento para solucionar el problema, se reinicia el computador y todo vuelve a la normalidad. Quisiera intentar limpiando el buffer del COMM, para evitar tener que reiniciar la maquina.
De antemano gracias
Code: Select all | Expand
FUNCTION abrirport(n)
LOCAL IdPort,cDcb,nError
IdPort := OpenComm("COM"+STR(n,1),1024,256)
IF IdPort <= 0
nError = GetCommError( IdPort)
MsgInfo( "Error al abrir: " + Str( nError ) )
ELSE
MsgRun("Puerto abierto como " + STR(IdPort))
ENDIF
IF ! BuildCommDcb("COM"+STR(n,1)+":9600,n,8,1" , @cDcb)
nError = GetCommError( IdPort)
MsgInfo( "Error al Configurar: " + Str( nError ) )
RETURN 0
ELSE
MsgRun("Puerto Configurado")
ENDIF
IF ! SetCommState( IdPort, cDcb )
nError = GetCommError( IdPort )
MsgInfo( "Error al setear: " + Str( nError ) ) //AQUI SALE EL ERROR EVENTUALMENTE
RETURN 0
ELSE
MsgRun("Puerto Seteado")
ENDIF
RETURN IdPort