xTimerReset(), подробно об этом — в описа-
нии API-функции xTimerReset() ниже.
Таймер, который уже отсчитывает вре-
мя, находясь в активном состоянии, может
быть принудительно остановлен. Для этого
предназначена API-функция xTimerStop().
Ее прототип:
portBASE_TYPE xTimerStop( xTimerHandle xTimer, portTickType
xBlockTime );
Аргументы и возвращаемое значение:
1. xTimer — дескриптор таймера, полу-
ченный при его создании API-функцией
xTimerCreate().
2. xBlockTime — определяет время тайм-аута —
максимальное время нахождения вызываю-
щей xTimerStop() задачи в блокированном
состоянии, если очередь команд полностью
заполнена и нет возможности поместить
в нее команду об останове таймера.
3. Возвращаемое значение — может прини-
мать два значения:
pdFAIL
•
— означает, что команда об оста-
нове таймера так и не была помещена
в очередь команд, а время тайм-аута ис-
текло.
pdPASS
•
— означает, что команда об оста-
нове успешно помещена в очередь ко-
манд.
API-функции xTimerStart() и xTimerStop()
предназначены для вызова из задачи или
функции таймера. Существуют версии этих
API-функций, предназначенные для вызова
из обработчиков прерываний, о них будет
сказано ниже.
Сброс таймера
Сброс таймера осуществляется с помощью
API-функции xTimerReset(). Ее прототип:
portBASE_TYPE xTimerReset( xTimerHandle xTimer, portTickType
xBlockTime );
Аргументы и возвращаемое значение:
1. xTimer — дескриптор таймера, полу-
ченный при его создании API-функцией
xTimerCreate().
2. xBlockTime — определяет время тайм-
аута — максимальное время нахождения
вызывающей xTimerReset() задачи в блоки-
рованном состоянии, если очередь команд
полностью заполнена и нет возможности
поместить в нее команду о сбросе таймера.
3. Возвращаемое значение — может прини-
мать два значения:
Достарыңызбен бөлісу: |