====== OSA : OS_Dtimer_Run ======
**OS_Dtimer_Run (dtimer, newtime)**\\
=== ===
{{osa:ref:attr_call_to.png|Сервис использует таймаут}}
Запустить //dtimer// на отсчет времени //newtime// с момента вызова этого сервиса. Флаг переполнения сбрасывается.
Для использования динамических таймеров в файле ##[[osa:ref:appendix:configuration|OSAcfg.h]]## нужно определить константу ##[[osa:ref:appendix:configuration#Системные константы|OS_ENABLE_DTIMERS]]##. Разрядность динамических таймеров такая же, как и у системного, и задается константой ##[[osa:ref:appendix:configuration#Типы данных|OS_TIMER_SIZE]]##.
=== Разрешен вызов: ===
Везде
=== Параметры функции: ===
{| class = "fpl"
|-
|//''dtimer''//
|Дескриптор динамического таймера типа ##[[osa:ref:description:data_types#OST_DTIMER|OST_DTIMER]]##. Содержит счетчик таймера, а также информацию о состоянии (считает, остановлен, активен, переполнение). Может размещаться в памяти только в **bank0** или **bank1**
|-
|//''newtime''//
|Время, на которое запускается таймер. Задается в системных тиках - периодах вызова сервиса ##[[osa:ref:allservices:OS_Timer|OS_Timer]]##. Не должно превышать разрядности таймера
|}
=== Возвращаемое значение: ===
Нет
=== Пример вызова: ===
OST_DTIMER dtimer;
void Task (void)
{
OS_Dtimer_Create(dtimer);
for (;;) {
/*...*/
// В течение секунды генерируем меандр 100 Гц
OS_Dtimer_Run (dtimer, 1000);
do {
RB1 = 1;
OS_Delay(5);
RB1 = 0;
OS_Delay(5);
} while (!OS_Dtimer_Check(dtimer));
/*...*/
}
}
=== Old style name ===
**OS_RunDTimer**\\
=== См. также ===
* [[osa:ref:allservices:OS_Dtimer_Create|OS_Dtimer_Create]]
* [[osa:ref:allservices:OS_Dtimer_Delete|OS_Dtimer_Delete]]
* [[osa:ref:allservices:OS_Dtimer_Run|OS_Dtimer_Run]]
* [[osa:ref:allservices:OS_Dtimer_Break|OS_Dtimer_Break]]
* [[osa:ref:allservices:OS_Dtimer_Wait|OS_Dtimer_Wait]]
* [[osa:ref:allservices:OS_Dtimer_Delay|OS_Dtimer_Delay]]
* [[osa:ref:allservices:OS_Dtimer_Get|OS_Dtimer_Get]]
* [[osa:ref:allservices:OS_Dtimer_Check|OS_Dtimer_Check]]
* [[osa:ref:allservices:OS_Dtimer_IsRun|OS_Dtimer_IsRun]]
* [[osa:ref:allservices:OS_Dtimer_Pause|OS_Dtimer_Pause]]
* [[osa:ref:allservices:OS_Dtimer_Continue|OS_Dtimer_Continue]]
* [[osa:ref:allservices:OS_Dtimer_Update|OS_Dtimer_Update]]
* [[osa:ref:allservices:OS_Dtimer_Add|OS_Dtimer_Add]]
* [[osa:ref:allservices:OS_Dtimer_IsActive|OS_Dtimer_IsActive]]
* [[osa:ref:allservices:OS_Dtimer_IsStopped|OS_Dtimer_IsStopped]]
----
* [[osa:ref:services:alphabetical|Алфавитный указатель]]
* [[osa:ref:services:brieflist|Все сервисы]]
~~UP~~