Добрый день!
Я знаю основы программирования, и пишу на C#.
Но в ардуино только с августа этого года.
Скетчи пишу в PlatformIO.
У меня несколько базовых вопросов, так как C++ не такой как C#, а ещё и работа с контроллером налаживает некоторые ограничения. Как минимум ограниченная память всего 30кб.
Во многих скетчах @AlexGyver (к примеру Куча эффектов для ws2812b) в служебном методе loop() находится очень много кода.
Я как обычно в программировании, выношу код в отдельные методы, в итоге у меня получается что-то вроде api в которых я поочерёдно выполняю методы опрос кнопки, опрос таймера, и изменение режима подсветки.
Код получается читаемым.
Но вижу количество созданных проектов на этом сайте, и на канале youtube, где в loop() очень много кода у меня закрадывается мысль, что в ардуино так делать как сделал я нельзя.
Или как минимум не желательно, типа какая-то там оптимизация в loop и т.д.
Информации об этом нигде не нашёл. Или так делать можно, или неправильными запросами кормил гугл.
Такой же вопрос по setup().
Можно ли код из setup вынести в отдельные методы?
Конечно Serial.begin(9600); останется там, а вот первоначальные настройки кнопки и таймера, я бы вынес в отдельные методы как и опросы в loop().
Наверное больше грузить не буду, а то и так простыня получилась )
Я знаю основы программирования, и пишу на C#.
Но в ардуино только с августа этого года.
Скетчи пишу в PlatformIO.
У меня несколько базовых вопросов, так как C++ не такой как C#, а ещё и работа с контроллером налаживает некоторые ограничения. Как минимум ограниченная память всего 30кб.
Во многих скетчах @AlexGyver (к примеру Куча эффектов для ws2812b) в служебном методе loop() находится очень много кода.
Я как обычно в программировании, выношу код в отдельные методы, в итоге у меня получается что-то вроде api в которых я поочерёдно выполняю методы опрос кнопки, опрос таймера, и изменение режима подсветки.
loop():
void loop()
{
btn_survey();
tmr_survey();
mode_switch();
}
Но вижу количество созданных проектов на этом сайте, и на канале youtube, где в loop() очень много кода у меня закрадывается мысль, что в ардуино так делать как сделал я нельзя.
Или как минимум не желательно, типа какая-то там оптимизация в loop и т.д.
Информации об этом нигде не нашёл. Или так делать можно, или неправильными запросами кормил гугл.
Такой же вопрос по setup().
Можно ли код из setup вынести в отдельные методы?
Конечно Serial.begin(9600); останется там, а вот первоначальные настройки кнопки и таймера, я бы вынес в отдельные методы как и опросы в loop().
Наверное больше грузить не буду, а то и так простыня получилась )