Страница 1 из 1
Не могу придумать логику решения задачи
Добавлено: Вт авг 08, 2023 16:27:28
Cheeseman
Всем привет. Возник вопрос. Есть 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)
...
Пример: Хочу сделать девайсину. С тремя различными протоколами обмена. и в зависимости от конфига их менять. Каждый протокол реализуется в виде задачи.
Re: Не могу придумать логику решения задачи
Добавлено: Вт авг 08, 2023 21:07:46
GARMIN
Я бы просто использовал очереди и в зависимости от конфигурации отправлял из пользовательских задач данные твоим задачам протоколов
Re: Не могу придумать логику решения задачи
Добавлено: Вт авг 08, 2023 21:08:08
jcxz
[uquote="Cheeseman",url="/forum/viewtopic.php?p=4459136#p4459136"]Есть 3 задачи, Задача А, Задача B, Задача С. Используется freeRTOS. Задача А отправляет по протоколу свое имя[/uquote]Какой "протокол"? О чём вообще речь?
[uquote="Cheeseman",url="/forum/viewtopic.php?p=4459136#p4459136"]Хочу сделать девайсину. С тремя различными протоколами обмена. и в зависимости от конфига их менять. Каждый протокол реализуется в виде задачи.[/uquote]Это зачем? Чтобы как можно больше ОЗУ потратить?
Что мешает все протколы обрабатывать в одной задаче?
И что за протоколы? Где они ходят? Об интерфейсе по которому они ходят - ни слова. Он один, два, ... их десять?
Re: Не могу придумать логику решения задачи
Добавлено: Вт авг 08, 2023 22:05:38
Cheeseman
GARMIN спасибо) jcxz, протоколы самописные для обмена данными с другим устройством. Интерфейс по которому они ходят не имеет значения. I2C пусть будет, без разницы. Не в этом проблема была.
Re: Не могу придумать логику решения задачи
Добавлено: Вт авг 08, 2023 22:08:28
Martian
это точно. не в этом. но была ли?
Re: Не могу придумать логику решения задачи
Добавлено: Ср авг 09, 2023 21:16:14
jcxz
[uquote="Cheeseman",url="/forum/viewtopic.php?p=4459297#p4459297"]протоколы самописные для обмена данными с другим устройством. Интерфейс по которому они ходят не имеет значения. I2C пусть будет, без разницы. Не в этом проблема была.[/uquote]именно в этом: Если интерфейс один, то и задачи (для его обслуживания) достаточно одной.