====== 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~~