Всем привет. Возник вопрос. Есть 3 задачи, Задача А, Задача B, Задача С. Используется freeRTOS. Задача А отправляет по протоколу свое имя (NameA), задача B - Name B, Задача С - Name C. Прилетает config в котором указано, какие именно задачи будут работать. Варианты: ААА, ААВ, ACA, CCC, BBC.... все возможные комбинации могут быть. Как это можно норм реализовать? Был вариант создать девять задач и в зависимости от конфига их включать/выключать.
AAA - каждая задача высылает имя (name A1, name A2, Name A3)
BBC - (name B1, name B2, Name C1)
...
Пример: Хочу сделать девайсину. С тремя различными протоколами обмена. и в зависимости от конфига их менять. Каждый протокол реализуется в виде задачи.
[uquote="Cheeseman",url="/forum/viewtopic.php?p=4459136#p4459136"]Есть 3 задачи, Задача А, Задача B, Задача С. Используется freeRTOS. Задача А отправляет по протоколу свое имя[/uquote]Какой "протокол"? О чём вообще речь?
[uquote="Cheeseman",url="/forum/viewtopic.php?p=4459136#p4459136"]Хочу сделать девайсину. С тремя различными протоколами обмена. и в зависимости от конфига их менять. Каждый протокол реализуется в виде задачи.[/uquote]Это зачем? Чтобы как можно больше ОЗУ потратить?
Что мешает все протколы обрабатывать в одной задаче?
И что за протоколы? Где они ходят? Об интерфейсе по которому они ходят - ни слова. Он один, два, ... их десять?
GARMIN спасибо) jcxz, протоколы самописные для обмена данными с другим устройством. Интерфейс по которому они ходят не имеет значения. I2C пусть будет, без разницы. Не в этом проблема была.
[uquote="Cheeseman",url="/forum/viewtopic.php?p=4459297#p4459297"]протоколы самописные для обмена данными с другим устройством. Интерфейс по которому они ходят не имеет значения. I2C пусть будет, без разницы. Не в этом проблема была.[/uquote]именно в этом: Если интерфейс один, то и задачи (для его обслуживания) достаточно одной.