====== OSA : OS_Stimer_Found ====== **bool OS_Stimer_Found ()**\\ === === {{osa:ref:attr_call_to.png|Сервис использует таймаут}}{{osa:ref:attr_call_not_int.png|Нельзя вызывать из прерывания}} Проверяет, есть ли свободный статический таймер Для использования статических таймеров в файле ##[[osa:ref:appendix:configuration|OSAcfg.h]]## нужно определить константу ##[[osa:ref:appendix:configuration#Содержание данных|OS_STIMERS]]##. Разрядность статических таймеров задается константой ##[[osa:ref:appendix:configuration#Типы данных|OS_STIMER_SIZE]]##. Для использования этого сервиса в файле ##[[osa:ref:appendix:configuration|osacfg.h]]## должна быть определена константа ##[[osa:ref:appendix:configuration#System constants|OS_STIMERS_ENABLE_ALLOCATION]]## === Разрешен вызов: === Не из прерывания === Параметры сервиса: === нет === Возвращаемое значение: === {| class = "fpl" |- |//''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); // Освобождаем таймер /*...*/ } } === См. также === * [[osa:ref:allservices:OS_Stimer_Alloc|OS_Stimer_Alloc]] * [[osa:ref:allservices:OS_Stimer_Free|OS_Stimer_Free]] * [[osa:ref:allservices:OS_Stimer_Found|OS_Stimer_Found]] * [[osa:ref:allservices:OS_Stimer_Run|OS_Stimer_Run]] * [[osa:ref:allservices:OS_Stimer_Break|OS_Stimer_Break]] * [[osa:ref:allservices:OS_Stimer_Wait|OS_Stimer_Wait]] * [[osa:ref:allservices:OS_Stimer_Delay|OS_Stimer_Delay]] * [[osa:ref:allservices:OS_Stimer_Get|OS_Stimer_Get]] * [[osa:ref:allservices:OS_Stimer_Check|OS_Stimer_Check]] * [[osa:ref:allservices:OS_Stimer_IsRun|OS_Stimer_IsRun]] * [[osa:ref:allservices:OS_Stimer_Pause|OS_Stimer_Pause]] * [[osa:ref:allservices:OS_Stimer_Continue|OS_Stimer_Continue]] ---- * [[osa:ref:services:alphabetical|Алфавитный указатель]] * [[osa:ref:services:brieflist|Все сервисы]] ~~UP~~