bool OS_Stimer_Found ()
Проверяет, есть ли свободный статический таймер
Для использования статических таймеров в файле OSAcfg.h нужно определить константу OS_STIMERS. Разрядность статических таймеров задается константой OS_STIMER_SIZE.
Для использования этого сервиса в файле osacfg.h должна быть определена константа OS_STIMERS_ENABLE_ALLOCATION
Не из прерывания
нет
true |
Есть свободный статический таймер |
false |
Все таймеры заняты |
void Task (void) { static unsigned char stimer_id; for (;;) { /*...*/ OS_Wait(OS_Stimer_Found()); // Ждем появление свободного таймера OS_Stimer_Create(stimer_id); // Выделяем таймер для работы OS_Stimer_Run(stimer_id, 100); // Теперь работаем через переменную do { // ... } while (!OS_Stimer_Check(stimer_id)); OS_Stimer_Delete(stimer_id); // Освобождаем таймер /*...*/ } }