OS_Queue_Wait_TO (queue, os_msg_type_var, timeout)
Ожидаем сообщение из очереди втечение заданного времени. Если так и не дождались, то выходим из ожидания по таймауту.
Для использования очередей сообщений в файле OSAcfg.h должна быть определена константа OS_ENABLE_QUEUE.
Только из задачи
queue |
Дескриптор очереди сообщений. Переменная типа OST_QUEUE. |
os_msg_type_var |
Переменная типа OST_MSG; в нее будет помещен указатель на сообщение |
timeout |
Время ожидания. Задается в системных тиках - периодах вызова сервиса OS_Timer |
таймаут |
Если вышли из ожидания по таймауту, то сервис OS_IsTimeout возвратит true |
OST_QUEUE queue; void Task (void) { char *Data; for (;;) { /*...*/ // В течение 100 тиков ждем сообщение из очереди OS_Queue_Wait_TO (queue, Data, 100); if (!OS_IsTimeout()) { // Если дождались, то обрабатываем его /*...*/ } /*...*/ } }
OS_WaitQMsgTimeout