Метод .redir

Назначение:Для выбранного последовательного порта (выбор выполняется через ser.num) перенаправляет принимаемые данные (RX) в буфер передачи (TX) того же или другого последовательного порта либо другого объекта, поддерживающего совместимые буферы.
Синтаксис:ser.redir(redir as pl_redir) as pl_redir
Возвращает:Возвращает 0 - PL_REDIR_NONE, если перенаправление не удалось, или то же значение, что было передано в аргументе redir.
См. также:Перенаправление буферов

ПараметрОписание
redirЗависит от платформы. См. список констант pl_redir в спецификациях платформ.

Подробности

Перенаправление данных (иногда его называют «замыканием буферов») обеспечивает эффективный обмен данными между портами, сокетами и т. п. в случаях, когда данные не нужно изменять или разбирать, а важно получить максимально возможную пропускную способность.

Аргумент redir и значение, возвращаемое методом, имеют тип «enum pl_redir». Перечисление pl_redir задаёт набор межобъектных констант платформы, включающий все возможные перенаправления для этой платформы. Значение redir, равное 0 - PL_REDIR_NONE, отменяет перенаправление. Когда для конкретного последовательного порта включено перенаправление, событие on_ser_data_arrival для этого порта не генерируется.

После перенаправления буфера приёма (RX) некоторые связанные с ним свойства и методы фактически возвращают данные буфера передачи (TX), в который он перенаправлен:

  • ser.rxbuffsize фактически вернёт размер буфера передачи (TX)
  • ser.rxclear фактически очистит буфер передачи (TX)
  • ser.rxlen покажет объём данных в буфере передачи (TX)
Внимание

Если перенаправление выполняется на открытом в данный момент последовательном порту (ser.enabled = 1 - YES), этот порт будет закрыт автоматически.

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