Обработка переполнения буфера

Обработка переполнения буфера RX

Событие on_ser_overrun генерируется при переполнении буфера приёма (RX). Это значит, что данные поступали в UART быстрее, чем вы их обрабатывали, и часть данных потеряна.

Событие генерируется только один раз, сколько бы данных ни было потеряно. Новое событие будет сгенерировано только после выхода из обработчика предыдущего. В режиме UART/полный дуплекс (подробнее см. Режим UART) этого, как правило, можно избежать с помощью управления потоком (ser.flowcontrol).

Обычно пользователю вашей системы нужно знать, что произошло переполнение. Например, при этом можно мигать красным светодиодом.

sub on_ser_overrun
	pat.play("R-R-R-R")
end sub

Возможно ли переполнение буфера TX?

Переполнение буфера передачи (TX) невозможно. Последовательный порт не позволит перегрузить свой буфер передачи (TX). Если вы попытаетесь добавить в буфер передачи (TX) больше данных, чем позволяет свободное место, добавляемые данные будут усечены.

О том, как правильно отправлять данные, см. Отправка данных.

Исходный материал Tibbo обновлён 8 августа 2022Оригинал на docs.tibbo.com · Сообщить об ошибке