Available Languages?:

OSA : OS_Qtimer_Get

OST_TIMER OS_Qtimer_Get (qtimer)

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

Получить оставшееся время счета. Перед вызовом этого сервиса нужно:

  • либо запретить прерывания (OS_DI());
  • либо войти в критическую секцию;

В противном случае в момент чтения таймера может произойти прерывание, которое может изменить его значение.

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

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

Везде

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

qtimer Дескриптор таймера типа OST_QTIMER. Содержит счетчик таймера, а также информацию о состоянии (считает,активен, переполнение). Для PIC16 может размещаться в памяти только в bank0 или bank1

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

OST_TIMER Время, оставшееся до переполнения (в системных тиках)

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

OST_QTIMER qtimer;
 
void Task (void)
{
    char itemp;
    for (;;) {
        /*...*/
        itemp = OS_DI();
        if (OS_Qtimer_Get(qtimer) < 10)   // Зажечь зеленый светодиод, если
            GREEN_LED = 1;                // осталось менее 10 тиков счета
        OS_RI(itemp);
        /*...*/
    }
}

См. также

 
osa/ref/allservices/os_qtimer_get.txt · Последние изменения: 07.10.2010 13:53 (внешнее изменение)
 
Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki