Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Организация передачи параметра по протоколу связи FreeRTOS

Ср апр 14, 2021 09:16:24

Задача примерно такая к одному процессору подключен экран и кнопки, в меню производиться инкремент/декремент параметра, и отправляется на другой процессор через протокол связи (USART скорее всего Modbus)

Вопрос возник как производить отправку, вижу несколько решений
Вызывать отправку прямо из задачи меню (обработчика меню) с ожидание ответа + таймаут на ответ.
Минусы такого решения:
1) Увеличение стека задачи меню(вызывая из задачи надо учитывать потребления стека на функцию отправки)
2) задача меню чуть тормозит но на миллисекунды, что не должно быть заметно
Плюсы
1)Код более структурированный
2)По таймауту выхода из функции отправки можно сразу отобразить сообщение об ошибки

Второе решение
Сделать задачу отправки сообщений и в обработчике меню закидывать параметры в очередь, с последующим выходом из функции меню
А в задаче сообщений считывать параметры из очереди и производить отправку + ожидание ответа
Плюсы
1) Можно вызывать из задач требующих максимальное быстродействие (пока это не актуально)
2) можно вызывать из любой задачи не боясь переполнения стека задачи
Минусы
1) Расходы ОЗУ на очередь + задачу

Подскажите какой подход лучше принять и что ещё мог упустить ?
Ответить