Если вы используете аппаратное квитирование, байты не будут записываться, пока не будут достигнуты правильные состояния контактов квитирования.Таким образом, вы можете установить тайм-аут в ожидании, пока другое устройство сообщит, что оно готово для получения дополнительных данных, идентифицируя заполненный буфер в его конце или устройство просто отключено.Если у вас отключен аппаратный хэшикинг или он перегружен на последовательном порту (от RTS до CTS), то единственный раз, когда вы могли бы установить тайм-аут, - это запись байтов на устройство быстрее, чем они могут быть отправлены по линии.В конце концов вы будете заполнять выходные буферы и блокировать (при условии, что вы не используете async io).Если драйвер не может очистить буферы достаточно быстро, вы можете установить тайм-аут на запись, если время ожидания слишком короткое.