====== OSA : OS_Ttimer_Get ====== **_OST_TTIMER OS_Ttimer_Get ()**\\ === === {{osa:ref:attr_call_to.png|Сервис использует таймаут}}{{osa:ref:attr_call_task_plus.png|Разрешается вызов из задачи и функций, вызываемых задачей (любой вложенности)}} Получить оставшееся время счета. Если обработка таймеров ##[[osa:ref:allservices:OS_Timer|OS_Timer]]## вызывается из функции-прерывания, то перед вызовом этого сервиса нужно либо запретить прерывания (##[[osa:ref:allservices:OS_DI|OS_DI]]##()), либо войти в критическую секцию, либо приостановить таймер ([[osa:ref:allservices:OS_Ttimer_Pause|OS_Ttimer_Pause]]). Для использования таймеров задач в файле ##[[osa:ref:appendix:configuration|OSAcfg.h]]## нужно определить константу ##[[osa:ref:appendix:configuration#Содержание данных|OS_ENABLE_TTIMERS]]##. Разрядность таймеров задач задается константой ##[[osa:ref:appendix:configuration#Типы данных|OS_TTIMER_SIZE]]##. === Разрешен вызов: === Разрешается вызов из задачи и функций, вызываемых задачей (любой вложенности) === Параметры функции: === нет === Возвращаемое значение: === {| class = "fpl" |- |//''[[osa:ref:description:data_types#_OST_TTIMER|_OST_TTIMER]]''// | Сколько тиков осталось до переполнения |} === Пример вызова: === void Task (void) { for (;;) { /*...*/ if (OS_Ttimer_Get () < 10) GREEN_LED = 1; // Зажигаем светодиод, если осталось // считать < 10 тиков /*...*/ } } === См. также === * [[osa:ref:allservices:OS_Ttimer_Run|OS_Ttimer_Run]] * [[osa:ref:allservices:OS_Ttimer_Break|OS_Ttimer_Break]] * [[osa:ref:allservices:OS_Ttimer_Delay|OS_Ttimer_Delay]] * [[osa:ref:allservices:OS_Ttimer_Wait|OS_Ttimer_Wait]] * [[osa:ref:allservices:OS_Ttimer_Get|OS_Ttimer_Get]] * [[osa:ref:allservices:OS_Ttimer_Check|OS_Ttimer_Check]] * [[osa:ref:allservices:OS_Ttimer_IsRun|OS_Ttimer_IsRun]] * [[osa:ref:allservices:OS_Ttimer_Pause|OS_Ttimer_Pause]] * [[osa:ref:allservices:OS_Ttimer_Continue|OS_Ttimer_Continue]] ---- * [[osa:ref:services:alphabetical|Алфавитный указатель]] * [[osa:ref:services:brieflist|Все сервисы]] ~~UP~~