OSA : OS_Qtimer_Run

OS_Qtimer_Run (qtimer, newtime)

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

Запустить qtimer на отсчет времени newtime, таймер добавляется в очередь активных таймеров. Флаг переполнения сбрасывается.

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

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

Везде

Параметры функции:

qtimer Дескриптор таймера типа OST_QTIMER. Содержит счетчик таймера, а также информацию о состоянии (считает,активен, переполнение). Может размещаться в памяти только в bank0 или bank1
newtime Время, на которое запускается таймер. Задается в системных тиках - периодах вызова сервиса OS_Timer. Не должно превышать разрядности таймера

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

Нет

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

OST_QTIMER qtimer;
 
void Task (void)
{
    OS_Qtimer_Create(qtimer);
    for (;;) {
        /*...*/
        // В течение секунды генерируем меандр 100 Гц
        OS_Qtimer_Run (qtimer, 1000);
        do {
            RB1 = 1;
            OS_Delay(5);
            RB1 = 0;
            OS_Delay(5);
        } while (!OS_Qtimer_Check(qtimer));
        /*...*/
    }
}

См. также