OSA : OS_Stimer_Alloc

OS_Stimer_Alloc (var_stimer_id)

Нельзя вызывать из прерыванияСервис использует таймаут

Выделяет свободный статический таймер и возвращает номер его ID.

Для использования статических таймеров в файле OSAcfg.h нужно определить константу OS_STIMERS. Разрядность статических таймеров задается константой OS_STIMER_SIZE.

Для использования этого сервиса в файле osacfg.h должна быть определена константа OS_STIMERS_ENABLE_ALLOCATION

Разрешен вызов:

Только не из прерывания

Параметры сервиса:

var_stimer_id Переменная типа unsigned char, в которую будет сохранен ID свободного таймера. 0xFF, если свободный таймер не был найден

Возвращаемое значение:

OS_IsError() возвращает true, если свободного таймера нет

Пример вызова:

void Task (void)
{
    static char stimer;
    for (;;) {
        /*...*/
        OS_Stimer_Alloc(stimer);   // Выделяем его.
        if (!OS_IsError())
        {
            /* работаем с таймером */
        }
        OS_Stimer_Delete(stimer);   // Освобождаем таймер
        /*...*/
    }
}

См. также