Метод .buffalloc
| Назначение: | Выделяет память под буферы, ранее запрошенные методами "buffrq" отдельных объектов (например, ser.rxbuffrq). |
| Синтаксис: | sys.buffalloc |
| Возвращает: | --- |
| См. также: | sys.totalbuffpages, sys.freebuffpages |
Подробности
Вызывайте этот метод после того, как запросите все нужные буферы методами вроде ser.txbuffrq и sock.cmdbuffrq.
Метод выполняется довольно долго (сотни миллисекунд), и всё это время устройство не может принимать сетевые пакеты, последовательные данные и т.д. На некоторых интерфейсах, например на последовательных портах, часть входящих данных может быть потеряна.
(Пере)распределение буфера для конкретного объекта сработает, только если соответствующий объект или та его часть, которой принадлежит буфер, находится в состоянии покоя. Под «частью» понимается, например, конкретный последовательный порт объекта ser. или конкретный сокет объекта sock., к которому относится изменяемый буфер. «Покой» для разных объектов означает разное: ser.enabled = 0 - NO для последовательного порта, sock.statesimple = 0 - PL_SSTS_CLOSED для сокета и т.д.