Serial.setTimeout () - Arduino
A série.A função setTimeout () em Arduino é usada para definir o tempo máximo em milissegundos de que o programa aguarda dados seriais. Por padrão, o tempo limite definido é de 1000 milissegundos. A série.A função setTimeout () vem da classe Stream em Arduino, que fornece um conjunto de maneiras comuns de trabalhar com entradas/saídas.
A série.A função setTimeout () é útil ao trabalhar com conexões lentas ou não confiáveis.
Sintaxe
A sintaxe para série.A função setTimeout () é:
Serial.setTimeout (tempo)
Parâmetros
Para usar serial.setTimeout (), você precisa fornecer o objeto de porta serial como o primeiro parâmetro e a duração do tempo limite em milissegundos como o segundo parâmetro. A duração pode ser expressa como um tipo de dados longo.
O valor do período de tempo limite está em milissegundos (MS). Esse valor de tempo limite não é assinado por muito tempo que começa de 1 e sobe para 4294967295 milissegundos.
Retorna
Esta função não retorna nenhum valor.
Serial.gettimeout () - Arduino
A série.função gettimeout () retorna o período de tempo limite atual para a comunicação serial. Pode ser usado para determinar o período de tempo limite atual ou restaurar o período de tempo limite padrão.
Sintaxe
A sintaxe para série.gettimeout () função é:
Serial.gettimeout (tempo);
Parâmetros
Esta função não leva parâmetros.
Retorna
Esta função retorna o valor do tempo limite definido, que é por padrão 1000ms e pode ser alterado usando a série.gettimeout (). O tipo de dados de valor de retorno é não assinado por muito tempo.
Código de exemplo
No exemplo seguinte, obtemos o período de tempo limite atual usando a série.função gettimeout (). Em seguida, imprimimos o período de tempo limite para o monitor serial. Em seguida, mudamos o período de tempo limite para 5 segundos e depois o imprimimos novamente no monitor serial.
Void Setup ()
Serial.começar (9600); // Inicialize a comunicação serial a 9600 bits por segundo
não assinado long defaultTimeout = serial.gettimeout (); // Obtenha o período de tempo limite padrão
Serial.print ("Período de tempo limite padrão é:");
Serial.println (defaultTimeout); // Imprima o período de tempo limite padrão para o monitor serial
Serial.setTimeout (5000); // Defina o período de tempo limite para 5000 milissegundos (5 segundos)
Timeout de longa data não assinado = serial.gettimeout (); // Obtenha o período de tempo limite atual
Serial.print ("Período de tempo limite atual é:");
Serial.println (tempo limite); // Imprima o período de tempo limite atual para o monitor serial
Void Loop ()
No código acima o configurar() A função inicializa a comunicação serial a 9600 bits por segundo e recebe o período de tempo limite padrão usando a série.função gettimeout (). O período de tempo limite padrão é exibido no monitor serial.
Em seguida, a série.A função setTimeout () é usada para definir o novo período de tempo limite para 5 segundos (5000 milissegundos).
A função loop () recupera o período de tempo limite atual usando a série.gettimeout () função e exibe -o no monitor serial. Um atraso de 1 segundo é adicionado antes de imprimir o próximo valor para impedir que o monitor serial seja inundado com dados. Este código pode ser usado para verificar se o período de tempo limite está definido corretamente e que a série.gettimeout () função está funcionando como esperado.
Saída
Na saída, podemos ver o tempo limite padrão e o novo tempo limite é impresso no monitor serial.
Conclusão
O Serial.setTimeout () e Serial.gettimeout () Funções são funções importantes de utilidade na língua Arduino. Serial.setTimeout () define o tempo máximo em milissegundos que o programa aguarda dados seriados, enquanto seriam.gettimeout () recupera o período de tempo limite atual. Essas funções são úteis para trabalhar com dispositivos externos que nem sempre fornecem dados dentro de um prazo específico.