102
КОМПОНЕНТЫ И ТЕХНОЛОГИИ •
№ 9 '2011
компоненты
микроконтроллеры
граммы. Прототип API-функции
crQUEUE_
RECEIVE():
void crQUEUE_RECEIVE(
xCoRoutineHandle xHandle,
xQueueHandle pxQueue,
void *pvBuffer,
portTickType xTicksToWait,
portBASE_TYPE *pxResult
)
Аргументы
API-функции crQUEUE_
RECEIVE():
1.
xHandle — дескриптор вызывающей со-
программы. Автоматически передается
в функцию, реализующую сопрограмму,
в виде первого ее аргумента.
2.
pxQueue — дескриптор очереди, из кото-
рой будет прочитан элемент. Дескриптор
очереди может быть получен при ее созда-
нии
API-функцией xQueueCreate().
3.
pvBuffer — указатель на область памя-
ти, в которую будет скопирован элемент
из очереди. Участок памяти, на которую
ссылается указатель, должен быть не мень-
ше размера одного элемента очереди.
4.
xTicksToWait — максимальное количе-
ство квантов времени, в течение которого
сопрограмма может пребывать в блоки-
рованном состоянии, если очередь пуста
и считать элемент из очереди нет возмож-
ности. Для представления времени в мил-
лисекундах следует использовать макро-
определение
portTICK_RATE_MS [1, № 4].
Задание
xTicksToWait равным 0 приведет
к тому, что сопрограмма не перейдет в бло-
кированное состояние, если очередь пуста,
и управление будет возвращено сразу же.
5.
pxResult — указатель на переменную типа
Достарыңызбен бөлісу: