Главная chevron_right Функции chevron_right Связь chevron_right Stream.getTimeout()

Stream.getTimeout()

getTimeout() возвращает текущий тайм-аут потока в миллисекундах — значение типа unsigned long, установленное через setTimeout() (по умолчанию 1000 мс).

Полная статья

Описание

getTimeout() сообщает, сколько миллисекунд поток будет ждать данных, прежде чем прекратить попытки их получить. Это значение устанавливается функцией setTimeout() и по умолчанию равно 1000 мс.

Функция принадлежит классу Stream и доступна во всех классах, которые его наследуют, — например, Wire и Serial. Подробнее о самом классе Stream читайте на странице Stream.

Практически getTimeout() полезен, когда нужно убедиться, что тайм-аут действительно установлен в нужное значение перед выполнением операций чтения, или когда одна часть кода меняет тайм-аут, а другая должна знать текущее значение, не храня его отдельно.

Синтаксис

stream.getTimeout()

Параметры

Нет.

Возвращает

Текущий тайм-аут в миллисекундах. Тип данных: unsigned long.

Где применяется

  • Отладка: проверить через Serial Monitor, что тайм-аут действительно был изменён через setTimeout() и не сброшен где-то в коде.
  • Библиотеки и модули: когда ваш код временно меняет тайм-аут, а потом должен восстановить прежнее значение — сначала сохраните его с помощью getTimeout(), затем верните обратно.
  • Работа с несколькими устройствами: разные периферийные устройства на шине Wire могут требовать разных тайм-аутов; getTimeout() помогает контролировать текущее состояние перед переключением.

Практические замечания

  • Значение по умолчанию — 1000 мс. Если вы не вызывали setTimeout(), getTimeout() вернёт именно это число.
  • Тайм-аут влияет на блокирующие операции чтения: функции вроде readString() или parseInt() будут ждать данные не дольше этого времени.
  • Если getTimeout() возвращает неожиданное значение, проверьте, не вызывается ли setTimeout() где-то ещё в коде — например, внутри подключённой библиотеки.
  • Тип возвращаемого значения — unsigned long, поэтому при сравнении с переменными другого типа следите за возможным неявным приведением типов.