SET TIMEOUT
SET TIMEOUT ( segundos )
Parâmetro | Tipo | Descrição | |
---|---|---|---|
segundos | Integer | → | Segundos até o timeout |
Descrição
O comando SET TIMEOUT especifica quanto tempo um comando de porta serial tem para terminar. Se o comando da porta serial não for concluído dentro do tempo especificado, em segundos, o comando da porta serial é cancelado, um erro -9990 é gerado, e a variável de sistema OK é definida como 0. Você pode pegar o erro com um método de tratamento de erros instalado usando ON ERR CALL.
Note que o tempo é o tempo total permitido para o comando ser executado, e não o tempo entre caracteres recebidos. Para cancelar uma configuração anterior e parar de monitorar a comunicação da porta serial, utilize uma configuração de 0 para os segundos.
Os comandos que são afetados pela configuração de tempo limite são:
Exemplo
O exemplo a seguir define a porta serial para receber dados. Em seguida, ele define um limite de tempo. Os dados são lidos com RECEIVE PACKET. Se os dados não forem recebidos em tempo, ocorre um erro:
SET CHANNEL(MacOS serial port;Speed 9600+Data bits 8+Stop bits one+Parity none) // Abertura da porta serial
SET TIMEOUT(10) // Fixar o timeout em 10 segundos
ON ERR CALL("INTERCEPTAR ERROS COM") // Tratar as eventuais interrupções
RECEIVE PACKET(vtBuffer;Char(13)) // Ler até encontrar um retorno de carro
If(OK=0)
ALERT("Erro durante o recebimento de dados.")
Else
[Pessoas]Nome:=vtBuffer // Salvar os dados recebidos em um campo
End if
ON ERR CALL("")
Ver também
ON ERR CALL
RECEIVE BUFFER
RECEIVE PACKET
RECEIVE RECORD
RECEIVE VARIABLE
Propriedades
Número do comando | 268 |
Thread-seguro | ✓ |
Modificar variáveis | OK, error |