Оптимизация кода Ардуино и ускорение работы Ардуино проекты.
Ғылым және технология
В этом примере, я покажу как можно сократить использование памяти и ускорить работу программы в 5 раз. Думаете это невозможно или трудно? Как оказалось совсем не трудно. Надо всего лишь придерживаться нескольких правил и ваш код будет работать в 5 раз быстрее, а памяти Ардуино вам хватит на любую проект.
Скетчи используемые в видео можно скачать на сайте "Ардуино для начинающих".
arduino-kid.ru/blog/optimizaci...
Станьте спонсором канала, и вы получите доступ к эксклюзивным бонусам. Подробнее:
/ @arduino2000
Помочь в развитии канала, и на покупку новых модулей и датчиков yoomoney.ru/to/410011924549016
Официальный сайт arduino-kid.ru
Группа в контакте club196958636
Почта arduino-kid@yandex.ru
Подпишитесь на канал
ссылка на канал / Ардуинодляначинающих
Теги:
#ардуино #arduino #урокиардуино #ардуинодляначинающих #ардуиноуроки
Пікірлер: 58
Ссылки на продавцов где есть модули применяемые в примерах. 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 не знал, подправлю за одно и свой код.
Жги!
Классно!!! Спасибо за труд!
Спасибо, очень интересно и познавательно. Можно эту тему развивать.
Ого, ну вы даете!!!!)
СПАСИБО !!!
Давай дальше! Мне интересно даже было, хотя почти все это знаю. Теперь интересно что я не знаю
@arduino2000
2 жыл бұрын
Делаю продолжение
👍🏻👍🏻👍🏻
Это дело особенно в Attiny актуально. Так что жги!
Ну конечно есть желающие и ждём продолжения, да и снимать тебе чтото надо.
@arduino2000
2 жыл бұрын
Поверьте, снимать есть про что
@alexbaysha2586
2 жыл бұрын
@@arduino2000 😄😄😄😄👍
Ещё еще))
@Ananas.kamchatka
2 жыл бұрын
Я бы про PROGMEM послушал
Да,можно ещё какие-нибудь способы по экономии памяти
@Relevantium
2 жыл бұрын
Чтобы сэкономить скорость вычислений например можно используемые формулы в коде прописать в сетап, они выполнятся 1 раз при старте мк и запишутся в константу и тем самым в дальнейшем на их расчёт не бед тратиться время))
Уже многие ардуино-блогеры делали попытки объяснить аудитории оптимизацию кода , но ни у кого не получилось так доходчиво с ,,табличными,, сравнениями показать позитивные результаты оптимизации . Очень жду объяснений почему используя функцию мейн получается такой результат , я всегда думал что среда arduino IDE сама переводит весь код с сетапа и лупа в функцию Мейн , но вижу что ошибался. И ещё одно мое заблуждение развеялось : считал что все функции с обращениями к пинам микроконтроллера тоже переводятся компилятором к обращению к портам в зависимости от выбранной платы в менеджере плат.
@Relevantium
2 жыл бұрын
Сетап и луп не переводятся, они означают что содержимое сетап выполняется 1 раз, а луп бесконечно и только это означают, вы можете писать доп функции и вызывать их там где угодно и сколько угодно раз
@olexangrstetsiuk3092
2 жыл бұрын
@@Relevantium , если пробовать изучать программирование не только из среды arduino IDE , тогда увидишь что все ,,завязывается,, на функции мейн , в которой уже можно в басконечном цикле вызывать как бы - луп (тоесть ,,петля,,). Вот я и предположил себе , что это все скрыто в библиотеках ардуино ..., но видимо как то по иному устроено .
Снимай больше! Смотрел взахлёб, особенно интересно было когда ты применил битную систему вместо диджиталрайт, кстати, как также заменить диджиталрид битами?
Любопытно все это.
Очень интересное видео, конечно делай продолжение! Можешь пожалуйста посоветовать соответствующую литературу по оптимизации кода? Заранее спасибо
@user-ld4lj3wi3h
2 жыл бұрын
Посмотри "Совершенный код" Стива Макконнелла и "Чистый код" Роберта Мартина
Это круто,жаль я не программист, а лишь электронщик.Когда учился нам пк давали лишь потрогать.Сейчас комп в каждом кармане.Первую программу что написал это для советского калькулятора, а уроки назывались информатика.Потом армия и всё надолго заглохло, надолго потому что как русский бился как рыба в воде чтобы съе... на свою историческую родину, это тяжело полжизни просто впустую. Помощи ни от кого, кому мы нужны, наоборот нас ещё доили свои же менты, им всё равно что ты их брат кровный. Но что делать, я только Россию признавал своей Родиной. Теперь навёрстывать упущенное просто ни к чему, просто что-то для души, не более. До 30 лет ты рыпаешься, как одержимый, а потом понимаешь. Что ты рыпаешься, успокойся.
Подскажите как подключить два Ардуино к одному дисплею?
Очень интересный урок. Но я плохо ориентируюсь в программировании. Я собрал пару ЧПУ-станков. Один для фрезерования рельефов, второй лазерный гравёр. Использую программу GRBL 1.1. На этом месте и начинается мой вопрос. При загрузке скетча в arduino я получаю сообщение "Недостаточно памяти, программа может работать нестабильно". При этом скетч использует 96% памяти, а глобальные переменные - 1633 (79%). Возможно ли оптимизировать этот grbl, или можно как-то добавить немого памяти на ардуино nano или uno. Спасибо за ваш урок.
@arduino2000
2 жыл бұрын
Не видя код сказать трудно. Если не хватает памяти можно использовать Ардуино МЕГА или ESP.
В вашем примере прямая запись в порт изменяет все значения gpio на порту? Проверьте с подключенными светодиодами.
@arduino2000
2 жыл бұрын
Да. В следующем видео я показал как управлять каждым битом порта.
Здравствуйте. Можете переснять видео со сдвиговым регистром 74hc165, который для того чтоб подключить много кнопок, с примером работы? А то в том старом видео нет ни одного примера, какие команды нужны - неясно! Благодарю за ваши труды!
@arduino2000
2 жыл бұрын
Странно. Обычно я выкладываю скетчи. Хорошо. Обязательно сделаю. Напишите мне на почту и я пришлю скетчи из видео
@user-wr4jz1dl6j
2 жыл бұрын
@@arduino2000 спасибо! обращусь...
а какой ценой мы строки фо флеш память перекинули? она явно не за просто так в оперативку по умолчанию идёт
Извините, вы бы не могли проверить вашу почту? :)
@arduino2000
2 жыл бұрын
Теперь только вечером
1:36 ахах) FLASH у Esp 16мб у Унылого уны 32 кб)
@Relevantium
2 жыл бұрын
Зато на есп нет некоторых библ и это осложняет
@micromaster4405
Жыл бұрын
Прикрути к ардуинке внешнюю память и будет тебе 16 Мб, как у есп
да в ардуинах памяти кот наплакал в отличие от STM32
@arduino2000
2 жыл бұрын
И от ESP