Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Не могу придумать логику решения задачи

Вт авг 08, 2023 16:27:28

Всем привет. Возник вопрос. Есть 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

Я бы просто использовал очереди и в зависимости от конфигурации отправлял из пользовательских задач данные твоим задачам протоколов

Re: Не могу придумать логику решения задачи

Вт авг 08, 2023 21:08:08

Есть 3 задачи, Задача А, Задача B, Задача С. Используется freeRTOS. Задача А отправляет по протоколу свое имя
Какой "протокол"? О чём вообще речь? :facepalm:

Хочу сделать девайсину. С тремя различными протоколами обмена. и в зависимости от конфига их менять. Каждый протокол реализуется в виде задачи.
Это зачем? Чтобы как можно больше ОЗУ потратить? :)))
Что мешает все протколы обрабатывать в одной задаче?
И что за протоколы? Где они ходят? Об интерфейсе по которому они ходят - ни слова. Он один, два, ... их десять?

Re: Не могу придумать логику решения задачи

Вт авг 08, 2023 22:05:38

GARMIN спасибо) jcxz, протоколы самописные для обмена данными с другим устройством. Интерфейс по которому они ходят не имеет значения. I2C пусть будет, без разницы. Не в этом проблема была.

Re: Не могу придумать логику решения задачи

Вт авг 08, 2023 22:08:28

это точно. не в этом. но была ли?

Re: Не могу придумать логику решения задачи

Ср авг 09, 2023 21:16:14

протоколы самописные для обмена данными с другим устройством. Интерфейс по которому они ходят не имеет значения. I2C пусть будет, без разницы. Не в этом проблема была.
именно в этом: Если интерфейс один, то и задачи (для его обслуживания) достаточно одной.
Ответить