В данном уроке мы рассмотрим работу светофоров. В светофор представляет собой некий механизм, который позволяет выполнения некой задачи только при наличии разрешения на выполнения данной задачи. Другими словами задача ждет пока будет зеленый цвет на выполнение, если красный – задача не выполняется. Существует два вида семафоров: Бинарные семафоры – могут принимать значения 0 и 1. Пока одна задача выполняется, она выдает значение очереди 0 (красный цвет), как только она выполнится, она дает номер очереди 1 (зеленый цвет) тем самым разрешает работу второй задачи. После выполнения второй задачи, мы выставляем опять 0 очередь, и переходим в режим ожидания когда снова появится разрешение. Данный подход хорошо подходит для синхронизации между задачами или для синхронизации между задачей и прерыванием. Счетный семафор – может принимать значение больше 1. данный семафор используется для счета событий. То есть обработчик события будет каждый раз уменьшать значение семафора при появлении дан
Используем светофоры в системе FreeRTOS на базе платы Arduino Nano в среде программирования Arduino IDE.
17 июня 202117 июн 2021
34
1 мин