OS_Squeue_Send_TO (squeue, smessage, timeout)
OS_Squeue_Send_I (squeue, smessage, timeout)
Отправляем сообщение в очередь коротких сообщений, в течение заданного времени ожидая, когда она освободится. Если так и не дождались, то выходим из ожидания по таймауту.
Для использования очередей коротких однобайтовых сообщений в файле OSAcfg.h должна быть определена константа OS_ENABLE_SQUEUE.
Только из задачи
squeue |
Дескриптор очереди коротких сообщений. Переменная типа OST_SQUEUE. |
smessage |
Тело отправляемого сообщения (тип OST_SMSG) |
timeout |
Время ожидания. Задается в системных тиках - периодах вызова сервиса OS_Timer |
таймаут |
Если вышли из ожидания по таймауту, то сервис OS_IsTimeout возвратит true |
OST_SQUEUE squeue; void Task (void) { for (;;) { /*...*/ // В течение 10 тиков пытаемся отправить 55 в очередь коротких сообщений OS_Squeue_Send_TO (squeue, 55, 100); if (OS_IsTimeout()) { // Сообщение не отправлено /*...*/ } /*...*/ } }
OS_SendQSMsgTimeout