Saltar al contenido principal
Versión: Siguiente

SET TIMEOUT

SET TIMEOUT ( segundos )

ParámetroTipoDescripción
segundosIntegerNúmero de segundos hasta el timeout

Descripción

El comando SET TIMEOUT especifica cuánto tiempo tiene para la ejecución un comando de puerto serial. Si el comando no termina dentro del tiempo especificado, segundos, el comando del puerto serial se cancela, se genera un error -9990, y la variable sistema OK toma el valor 0. Puede interceptar este error con la ayuda de un método instalado por el comando ON ERR CALL.

Note que el tiempo es el tiempo total permitido para que el comando se ejecute, no el tiempo entre los caracteres recibidos. Para cancelar un parámetro anterior y detener el monitoreo de la comunicación de puerto serial, utilice un parámetro de 0 para segundos.

Los comandos que se afectan por el parámetro timeout son:

Ejemplo

El siguiente ejemplo fija el puerto serial para recibir datos y el timeout. Los datos se leen con RECEIVE PACKET. Si los datos no se reciben en el tiempo definido, ocurre un error:

 SET CHANNEL(MacOS serial port;Speed 9600+Data bits 8+Stop bits one+Parity none) // Apertura del puerto serial
 SET TIMEOUT(10) // Fijar el timeout en 10 segundos
 ON ERR CALL("INTERCEPTAR ERRORES COM") // Tratar las interrupciones eventuales
 RECEIVE PACKET(vtBuffer;Char(13)) // Leer hasta encontrar un retorno de carro
 If(OK=0)
    ALERT("Error durante la recepción de datos.")
 Else
    [Personas]Nombre:=vtBuffer // Guardar los datos recibidos en un campo
 End if
 ON ERR CALL("")

Ver también

ON ERR CALL
RECEIVE BUFFER
RECEIVE PACKET
RECEIVE RECORD
RECEIVE VARIABLE