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



Pdf көрінісі
бет50/129
Дата28.09.2023
өлшемі4.1 Mb.
#478975
1   ...   46   47   48   49   50   51   52   53   ...   129
Kurniz

vTaskSuspend в файле FreeRTOSConfig.h 
должно быть равно «1».
Возвращаемое значение — может возвра-
• 
щать 2 значения:
pdPASS — означает, что данные успеш-
но записаны в очередь. Если определена 
продолжительность тайм-аута (пара-
метр xTicksToWait не равен «0»), то воз-
врат значения pdPASS говорит о том, что 
свободное место в очереди появилось 
до истечения тайм-аута и элемент был 
помещен в очередь.
errQUEUE_FULL — означает, что дан-
ные не записаны в очередь, так как 
очередь заполнена. Если определена 
продолжительность тайм-аута (пара-
метр xTicksToWait не равен «0» или 
portMAX_DELAY), то возврат значения 
errQUEUE_FULL говорит о том, что 
тайм-аут завершен и свободное место 
в очереди так и не появилось.
Следует отметить, что API-функции 
xQueueSendToBack() и xQueueSendTo 
Front() нельзя вызывать из тела обработ-
чика прерывания. Для этой цели служат 
специальные версии этих API-функций — 
xQueueSendToBackFromISR()и xQueueSend 
ToFrontFromISR() соответственно. Более 
подробно об использовании API-функций 
FreeRTOS в теле обработчика прерывания бу-
дет рассказано в дальнейших публикациях.
Чтение элемента из очереди
Чтение элемента из очереди может быть 
произведено двумя способами:


101
КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 6 '2011
www.kit3e.ru
компоненты
микроконтроллеры
Элемент считывается из очереди (создается 
• 
его побайтовая копия в другую перемен-
ную), после чего он удаляется из очереди. 
Именно такой способ считывания проде-
монстрирован на рис. 2.
Создается побайтовая копия элемента, при 
• 
этом элемент из очереди не удаляется.
Для считывания элемента с удалением 
его из очереди используется API-функция 


Достарыңызбен бөлісу:
1   ...   46   47   48   49   50   51   52   53   ...   129




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

    Басты бет