Компоненты и технологии • №2 '2011 компоненты



Pdf көрінісі
бет124/129
Дата28.09.2023
өлшемі4.1 Mb.
#478975
1   ...   121   122   123   124   125   126   127   128   129
Kurniz

pdFAIL

— означает, что команда о сбросе 
таймера так и не была помещена в оче-
редь команд, а время тайм-аута истекло.
pdPASS

— означает, что команда о сбро-
се таймера успешно помещена в очередь 
команд.
Операция сброса может применяться как 
к активному таймеру, так и к находящему-
ся в пассивном состоянии. В случае если 
таймер находился в пассивном состоянии, 
вызов xTimerReset() будет эквивалентен вы-
зову xTimerStart(), то есть таймер будет за-
пущен. Если таймер уже отсчитывал время 
в момент вызова xTimerReset() (то есть на-
ходился в активном состоянии), то вызов 
xTimerReset() приведет к тому, что таймер 
заново начнет отсчет времени с момента вы-
зова xTimerReset().
Допускается вызов xTimerReset(), когда тай-
мер уже создан, но планировщик еще не за-
пущен. В этом случае отсчет времени начнет-
ся не с момента вызова xTimerReset(), а с мо-
мента запуска планировщика.
Легко заметить, что API-функции 
xTimerReset() и xTimerStart() полностью экви-


98
КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 10 '2011
компоненты
микроконтроллеры
валентны. Две различные API-функции вве-
дены скорее для наглядности. Предполагается, 
что API-функцию xTimerStart() следует при-
менять к таймеру в пассивном состоянии, 
xTimerReset() — к таймеру в активном со-
стоянии. Однако это требование совершен-
но необязательно, так как обе эти функции 
приводят к записи одной и той же команды 
в очередь команд таймеров.
API-функция xTimerReset() предназначена 
для вызова из тела задачи или функции тай-
мера. Существует версия этой API-функции, 
предназначенная для вызова из обработчика 
прерывания, о ней будет сказано ниже.


Достарыңызбен бөлісу:
1   ...   121   122   123   124   125   126   127   128   129




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет