Цитата:
Допис від OrcSin
на 4 датчика это 120 строк.
По сути нельзя допускать повторяющийся код, а это 4 повтора, готовых библиотек не встречал, но пробовал писать, что то не получается и надо разбираться в тонкостях. Но согласитесь было бы удобно 30 строк заменить одной и использовать где угодно.
Может кто то уже такое сделал?
|
Ардуино пашет на какойто Си подобной штуке.
То, что вы описываете называется функцией. Можно так же в ооп стиле написания использовать классы.
Для языка Python функция выглядит так:
def add(x, y):
return x + y
потом можно вызывать функцию и передавать в нее значения переменных:
add(1, 10)
функция выведет результат: 11
ООП вариант уже сложнее для восприятия и нужно намного дольше вникать и весь код писать желательно тогда в ооп.
Таким образом с использованием функций легче всего засунуть одинаковый функционал без повторений в код. Кроме того можно вызывать функцию внешним файлом, опять таки не знаю как это выглядит в си. Грубо у Вас основная программа может состоять из подключаемых модулей типо библиотек с нужными кусками кода и логикой их работы, т.е. готовый функционал для работы датчика будет находиться в отдельном файле и работать по аналогии с библиотеками. Сам костяк программы будет обращатся к этому файлу и передавать в функцию\класс данные и получать назад результат относительно которого уже будет происходить дальнейший сценарний.
К сожалению до изучения Arduino и Си все еще не добрался, а лежит уже пару лет(готовые модули стоят денег, а паять руки не стоят и електротехнику не знаю).
Цитата:
Допис від OrcSin
Мне начинает казаться, что библиотеки не полностью компиляться с программой, а только нужные кусочки кода. И может не нужно трогать готовые либы и обрезать их с целью экономии.
|
Опять таки в других языках можно подключать не всю либу, а только используемые Вами функции или классы. Например если есть билбиотека в которой есть 20 функция для работы с сервоприводом, а вам нужна только функция которая будет осуществлять поворот сервопривода только влева, то незачем подключать всю библиотеку, можно подключить только функцию отвечающюю за поворот СП влево. Но опять таки специфики работы Си я не знаю, возможно компилятор сам обрабатывает это таким же образом) Думаю можете найти интересующие Вас материалы в книгах\профильных статьях про програмирование.
А вообще хорошая тема) Надо будет сервопривод купить, давно хотел сделать автокормушку для малька)