====== OSA : OS_Stimer_Free ====== **OS_Stimer_Free (stimer_id)**\\ === === {{osa:ref:attr_call_not_int.png|Нельзя вызывать из прерывания}}{{osa:ref:attr_call_to.png|Сервис использует таймаут}} Освободить ранее выделенный сервисом [[osa:ref:allservices:OS_Stimer_Alloc|OS_Stimer_Alloc]] таймер по его номеру. Для использования статических таймеров в файле ##[[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" |- |//''stimer_id''// | ID освобождаемого таймера |} === Возвращаемое значение: === нет === Пример вызова: === void Task (void) { static unsigned char stimer_id; for (;;) { /*...*/ OS_Wait(OS_Stimer_Found()); // Ждем появление свободного таймера OS_Stimer_Alloc(stimer_id); // Выделяем таймер для работы OS_Stimer_Run(stimer_id, 100); // Теперь работаем через переменную do { // ... } while (!OS_Stimer_Check(stimer_id)); OS_Stimer_Free(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~~