printf()) и перейдет в блокированное состо-
яние вызовом API-функции vTaskDelay().
Одновременный совместный доступ, таким
образом, исключен. Поэтому дополнитель-
ных мер для обеспечения совместного до-
ступа к общему ресурсу в учебной програм-
ме № 3 не предпринимается.
Выводы В статье описан способ передачи произ-
вольного параметра в задачу при ее создании.
Внимание было уделено механизму приори-
тетов и тому, как значение приоритета влияет
на ход выполнения задачи. Рассказано о воз-
можностях FreeRTOS для реализации задер-
жек и периодического выполнения задачи.
Изучена задача Бездействие и возможности,
которые она предоставляет.
В следующих публикациях будет подроб-
но описан процесс принудительного измене-
ния приоритета задач в ходе их выполнения,
показано, как динамически создавать и уни-
чтожать задачи. Будет подведен итог по вы-
тесняющей многозадачности во FreeRTOS
и рассказано о возможностях кооперативной
многозадачности. Далее внимание будет сфо-
кусировано на взаимодействии и передаче ин-
формации между задачами и между преры-
ваниями и задачами средствами FreeRTOS.
n
Литература 1. Курниц А. FreeRTOS — операционная система
для микроконтроллеров // Компоненты и тех-
нологии. 2011. № 2–3.
2.
http://www.openwatcom.org/index.php/ Download 3.
http://www.dosbox.com 4. Barry R. Using the FreeRTOS real time kernel:
A Practical Guide. 2009.
5.
http://www.freertos.org рис. 14. Результат работы учебной программы № 3
97 КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 5 '2011 www.kite.ru компоненты микроконтроллеры