Оптимизация кода Ардуино и ускорение работы Ардуино проекты.
Вставка
- Опубліковано 25 січ 2022
- В этом примере, я покажу как можно сократить использование памяти и ускорить работу программы в 5 раз. Думаете это невозможно или трудно? Как оказалось совсем не трудно. Надо всего лишь придерживаться нескольких правил и ваш код будет работать в 5 раз быстрее, а памяти Ардуино вам хватит на любую проект.
Скетчи используемые в видео можно скачать на сайте "Ардуино для начинающих".
arduino-kid.ru/blog/optimizaci...
Станьте спонсором канала, и вы получите доступ к эксклюзивным бонусам. Подробнее:
/ @arduino2000
Помочь в развитии канала, и на покупку новых модулей и датчиков yoomoney.ru/to/410011924549016
Официальный сайт arduino-kid.ru
Группа в контакте club196958636
Почта arduino-kid@yandex.ru
Подпишитесь на канал
ссылка на канал / Ардуинодляначинающих
Теги:
#ардуино #arduino #урокиардуино #ардуинодляначинающих #ардуиноуроки - Наука та технологія
Ссылки на продавцов где есть модули применяемые в примерах.
Arduino NANO - alii.pub/699fxy
NodeMcu V3 - alii.pub/699ich
Модуль RFID RC522 - alii.pub/69dct2
ЖК-дисплей 1602 и 2004 - alii.pub/699yzr
Модуль часов DS3231 - alii.pub/698ydt
Редко пишу комментарии, но тут просто не могу пройти мимо.
Спасибо вам большое за столь прекрасное и наглядное обьяснение базовых вещей!
Зачастую примеры, находящиеся в открытом доступе, не имеют оптимизации и написаны "на скорую руку" для демонстрации того или модуля..а вот когда проект обрастает кодом, тут ты уже и сталкиваешься с базовыми вещами)
Спасибо вам еще раз!
С таким уроком и ребёнок разберётся. Наглядно и доходчиво. БлагоДарю!
Спасибо напрямую с портами даже более наглядные чем дижитал Райт ,круто и намного быстрее спасибо вам за ваши уроки 👍
Снимай ещё. Очень интересно! Спасибо!
мощный урок, супер! кстати нигде никто и не рассказывал подобное ни разу не находил
Я смотрю до конца 👍
Это интересная тема.
Комментарий в поддержку хорошего канала!
Продолжение обязательно) я не знал про символ F
Большое спасибо
Спасибо большое за видео. Жду продолжения с нетерпением. 👍👍👍
А это оказалось интересно, спасибо.
6:51 точно) вот это самое важное) тоже так делаю, а через год бывает и не вспомнить что это такое)
Благодарю! Уникальный контент. Ждём продолжение)
Жги!
Хорошая тема по оптимизации, с буквой F не знал, подправлю за одно и свой код.
Классно!!! Спасибо за труд!
Спасибо, очень интересно и познавательно. Можно эту тему развивать.
Оч интерресно.
Ого, ну вы даете!!!!)
СПАСИБО !!!
Давай дальше! Мне интересно даже было, хотя почти все это знаю. Теперь интересно что я не знаю
Делаю продолжение
Это дело особенно в Attiny актуально. Так что жги!
Ну конечно есть желающие и ждём продолжения, да и снимать тебе чтото надо.
Поверьте, снимать есть про что
@@arduino2000 😄😄😄😄👍
Снимай больше! Смотрел взахлёб, особенно интересно было когда ты применил битную систему вместо диджиталрайт, кстати, как также заменить диджиталрид битами?
👍🏻👍🏻👍🏻
Да,можно ещё какие-нибудь способы по экономии памяти
Чтобы сэкономить скорость вычислений например можно используемые формулы в коде прописать в сетап, они выполнятся 1 раз при старте мк и запишутся в константу и тем самым в дальнейшем на их расчёт не бед тратиться время))
Уже многие ардуино-блогеры делали попытки объяснить аудитории оптимизацию кода , но ни у кого не получилось так доходчиво с ,,табличными,, сравнениями показать позитивные результаты оптимизации . Очень жду объяснений почему используя функцию мейн получается такой результат , я всегда думал что среда arduino IDE сама переводит весь код с сетапа и лупа в функцию Мейн , но вижу что ошибался. И ещё одно мое заблуждение развеялось : считал что все функции с обращениями к пинам микроконтроллера тоже переводятся компилятором к обращению к портам в зависимости от выбранной платы в менеджере плат.
Сетап и луп не переводятся, они означают что содержимое сетап выполняется 1 раз, а луп бесконечно и только это означают, вы можете писать доп функции и вызывать их там где угодно и сколько угодно раз
@@Relevantium , если пробовать изучать программирование не только из среды arduino IDE , тогда увидишь что все ,,завязывается,, на функции мейн , в которой уже можно в басконечном цикле вызывать как бы - луп (тоесть ,,петля,,). Вот я и предположил себе , что это все скрыто в библиотеках ардуино ..., но видимо как то по иному устроено .
Ещё еще))
Я бы про PROGMEM послушал
Любопытно все это.
Очень интересное видео, конечно делай продолжение! Можешь пожалуйста посоветовать соответствующую литературу по оптимизации кода? Заранее спасибо
Посмотри "Совершенный код" Стива Макконнелла и "Чистый код" Роберта Мартина
Подскажите как подключить два Ардуино к одному дисплею?
Это круто,жаль я не программист, а лишь электронщик.Когда учился нам пк давали лишь потрогать.Сейчас комп в каждом кармане.Первую программу что написал это для советского калькулятора, а уроки назывались информатика.Потом армия и всё надолго заглохло, надолго потому что как русский бился как рыба в воде чтобы съе... на свою историческую родину, это тяжело полжизни просто впустую. Помощи ни от кого, кому мы нужны, наоборот нас ещё доили свои же менты, им всё равно что ты их брат кровный. Но что делать, я только Россию признавал своей Родиной. Теперь навёрстывать упущенное просто ни к чему, просто что-то для души, не более. До 30 лет ты рыпаешься, как одержимый, а потом понимаешь. Что ты рыпаешься, успокойся.
Очень интересный урок.
Но я плохо ориентируюсь в программировании. Я собрал пару ЧПУ-станков. Один для фрезерования рельефов, второй лазерный гравёр. Использую программу GRBL 1.1. На этом месте и начинается мой вопрос.
При загрузке скетча в arduino я получаю сообщение "Недостаточно памяти, программа может работать нестабильно".
При этом скетч использует 96% памяти, а глобальные переменные - 1633 (79%).
Возможно ли оптимизировать этот grbl, или можно как-то добавить немого памяти на ардуино nano или uno.
Спасибо за ваш урок.
Не видя код сказать трудно. Если не хватает памяти можно использовать Ардуино МЕГА или ESP.
В вашем примере прямая запись в порт изменяет все значения gpio на порту? Проверьте с подключенными светодиодами.
Да. В следующем видео я показал как управлять каждым битом порта.
Здравствуйте. Можете переснять видео со сдвиговым регистром 74hc165, который для того чтоб подключить много кнопок, с примером работы? А то в том старом видео нет ни одного примера, какие команды нужны - неясно! Благодарю за ваши труды!
Странно. Обычно я выкладываю скетчи. Хорошо. Обязательно сделаю. Напишите мне на почту и я пришлю скетчи из видео
@@arduino2000 спасибо! обращусь...
а какой ценой мы строки фо флеш память перекинули? она явно не за просто так в оперативку по умолчанию идёт
Извините, вы бы не могли проверить вашу почту? :)
Теперь только вечером
1:36 ахах) FLASH у Esp 16мб у Унылого уны 32 кб)
Зато на есп нет некоторых библ и это осложняет
Прикрути к ардуинке внешнюю память и будет тебе 16 Мб, как у есп
да в ардуинах памяти кот наплакал в отличие от STM32
И от ESP