====== OSA : OS_Dtimer_Update ======
**OS_Dtimer_Update (dtimer, time)**\\
=== ===
{{osa:ref:attr_call_to.png|Сервис использует таймаут}}
Запустить таймер на отсчет времени //time// с момента последнего переполнения. Флаг переполнения сбрасывается.
Для использования динамических таймеров в файле ##[[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**
|-
|//''time''//
|Время, на которое запускается таймер. Задается в системных тиках - периодах вызова сервиса ##[[osa:ref:allservices:OS_Timer|OS_Timer]]##. Не должно превышать разрядности таймера
|}
=== Возвращаемое значение: ===
Нет
=== Пример вызова: ===
OST_DTIMER dtimer;
void Task_1sec (void)
{
OS_Dtimer_Create(dtimer);
for (;;) {
OS_Dtimer_Update (dtimer, 1000);
OS_Dtimer_Wait(dtimer);
// Сюда будем попадать 1 раз в секунду
/*...*/
}
}
=== Old style name ===
**OS_UpdateDTimer**\\
=== См. также ===
* [[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~~