Решил вот использовать ось.
Допустим есть девайс вот такой конфигурации:
кнопка, индикатор(I2C), память(I2C),часы(I2C).
Требуется:
1. отображать на индикаторе текущее время
2. при нажатой кнопке вывести дополнительно сообщение на индикатор
3. записать в память время нажатия/отпускания кнопки
Значит, есть ресурс I2C, который должен быть в монопольном доступе некоторое время
есть событие - нажатие/отпускание кнопки и есть флаг состояния кнопки
Как бы это получше реализовать во FreeRTOS с помощью ее сервисов?
Я думаю так:
Создаем семафор I2C
Создаем задачи:
а) вывод на индикатор, период, допустим 0.2сек
б) опрос часов период, допустим 0.5сек
в) опрос кнопки, период, допустим 0.05сек
г) запись в память
Если задача работает с I2C, то она захватывает семафор. Остальные ждут его освобожения
А вот как дальше организовать взаимодействие, не представляю...
Как задаче записи сообщить про событие нажатия? как при выводе на индикатор получить состояние кнопки?