Aller au contenu principal
Version: Next

SET TIMEOUT

SET TIMEOUT ( secondes )

ParamètreTypeDescription
secondesIntegerNombre de secondes jusqu'au timeout

Description

La commande SET TIMEOUT vous permet de définir le temps d'attente maximum pour l'exécution d'une commande de communication série. Si la commande ne se termine pas dans le temps secondes qui lui est imparti, la communication série est annulée, l'erreur –9990 est générée, et la variable système OK prend la valeur 0. Vous pouvez intercepter cette erreur à l'aide d'une méthode installée par la commande ON ERR CALL.

Notez que le délai défini représente la durée totale permise pour que la commande s'exécute, et non le délai d'attente entre chaque caractère reçu. Pour annuler un paramétrage précédent et ne pas spécifier de temps d'attente maximum, passez 0 dans le paramètre secondes.

Les commandes de communication série affectées par ce paramétrage sont les suivantes :

Exemple

L'exemple suivant fixe le port série devant recevoir des données et le timeout. Les données sont lues à l'aide de RECEIVE PACKET. Si les données ne sont pas bien reçues dans le temps défini, une erreur survient :

  // Ouverture du port série
 SET CHANNEL(MacOS serial port;Speed 9600+Data bits 8+Stop bits one+Parity none)
 SET TIMEOUT(10) // Fixer le timeout à 10 secondes
 ON ERR CALL("INTERCEPTER ERREURS COMMUNICATIONS") // Traiter les interruptions éventuelles
 RECEIVE PACKET(vBuffer;Char(Carriage return)) // Lire jusqu'au retour chariot
 If(OK=0) // Si une erreur survient
    ALERT("Erreur lors de la réception des données.") // Informer l'utilisateur
 Else
    [Personnes]Nom:=vBuffer // Sauvegarder les données dans un champ
 End if

Voir aussi

ON ERR CALL
RECEIVE BUFFER
RECEIVE PACKET
RECEIVE RECORD
RECEIVE VARIABLE