OS_Smsg_Send_TO (smsg, smessage, timeout)
OS_Smsg_Send_I (smsg, smessage, timeout)
Отправляем короткое однобайтовое сообщение smsg с содержимым smessage. Если такое сообщение уже активно, то в течение указанного времени ждем, когда оно освободится. Если так и не дождались, то выходим из ожидания по таймауту.
Только из задачи
smsg |
Дескриптор короткого сообщения. Переменная типа OST_SMSG |
smessage |
Тело отправляемого сообщения (тип OST_SMSG) |
timeout |
Время ожидания. Задается в системных тиках - периодах вызова сервиса OS_Timer |
таймаут |
Если вышли из ожидания по таймауту, то сервис OS_IsTimeout возвратит true |
OST_SMSG smsg; void Task (void) { for (;;) { /*...*/ OS_Smsg_Send_TO (smsg, (OST_SMSG)15, 100); // В течение 100 тиков пытаемся // отправить сообщение 0xF if (OS_IsTimeout()) { // Сообщение не отправлено /*...*/ } /*...*/ } }
OS_SendSMsgTimeout