Оптимизация кода Ардуино и ускорение работы Ардуино проекты.

Поділитися
Вставка
  • Опубліковано 25 січ 2022
  • В этом примере, я покажу как можно сократить использование памяти и ускорить работу программы в 5 раз. Думаете это невозможно или трудно? Как оказалось совсем не трудно. Надо всего лишь придерживаться нескольких правил и ваш код будет работать в 5 раз быстрее, а памяти Ардуино вам хватит на любую проект.
    Скетчи используемые в видео можно скачать на сайте "Ардуино для начинающих".
    arduino-kid.ru/blog/optimizaci...
    Станьте спонсором канала, и вы получите доступ к эксклюзивным бонусам. Подробнее:
    / @arduino2000
    Помочь в развитии канала, и на покупку новых модулей и датчиков yoomoney.ru/to/410011924549016
    Официальный сайт arduino-kid.ru
    Группа в контакте club196958636
    Почта arduino-kid@yandex.ru
    Подпишитесь на канал
    ссылка на канал / Ардуинодляначинающих
    Теги:
    #ардуино #arduino #урокиардуино #ардуинодляначинающих #ардуиноуроки
  • Наука та технологія

КОМЕНТАРІ • 58

  • @arduino2000
    @arduino2000  2 роки тому +1

    Ссылки на продавцов где есть модули применяемые в примерах.
    Arduino NANO - alii.pub/699fxy
    NodeMcu V3 - alii.pub/699ich
    Модуль RFID RC522 - alii.pub/69dct2
    ЖК-дисплей 1602 и 2004 - alii.pub/699yzr
    Модуль часов DS3231 - alii.pub/698ydt

  • @aecorp629
    @aecorp629 5 місяців тому +2

    Редко пишу комментарии, но тут просто не могу пройти мимо.
    Спасибо вам большое за столь прекрасное и наглядное обьяснение базовых вещей!
    Зачастую примеры, находящиеся в открытом доступе, не имеют оптимизации и написаны "на скорую руку" для демонстрации того или модуля..а вот когда проект обрастает кодом, тут ты уже и сталкиваешься с базовыми вещами)
    Спасибо вам еще раз!

  • @user-ib4vo5hc9r
    @user-ib4vo5hc9r 2 роки тому +2

    С таким уроком и ребёнок разберётся. Наглядно и доходчиво. БлагоДарю!

  • @kosmos8460
    @kosmos8460 2 роки тому +7

    Спасибо напрямую с портами даже более наглядные чем дижитал Райт ,круто и намного быстрее спасибо вам за ваши уроки 👍

  • @MrSergidze
    @MrSergidze 2 роки тому +6

    Снимай ещё. Очень интересно! Спасибо!

  • @masterkit9517
    @masterkit9517 2 роки тому +8

    мощный урок, супер! кстати нигде никто и не рассказывал подобное ни разу не находил

  • @donfedor007
    @donfedor007 6 місяців тому +2

    Я смотрю до конца 👍

  • @pro_stroy
    @pro_stroy Рік тому +1

    Это интересная тема.

  • @DimaDSP
    @DimaDSP 2 роки тому +1

    Комментарий в поддержку хорошего канала!

  • @vladilion90
    @vladilion90 Рік тому +1

    Продолжение обязательно) я не знал про символ F

  • @Shizaracing
    @Shizaracing 15 днів тому

    Большое спасибо

  • @timurazizbekuulu6120
    @timurazizbekuulu6120 Рік тому

    Спасибо большое за видео. Жду продолжения с нетерпением. 👍👍👍

  • @OttoLilo
    @OttoLilo 2 роки тому +2

    А это оказалось интересно, спасибо.

  • @masterkit9517
    @masterkit9517 2 роки тому +2

    6:51 точно) вот это самое важное) тоже так делаю, а через год бывает и не вспомнить что это такое)

  • @VitaliyZlobin
    @VitaliyZlobin 9 місяців тому

    Благодарю! Уникальный контент. Ждём продолжение)

  • @veoramid
    @veoramid 2 роки тому

    Жги!

  • @BRIS-P
    @BRIS-P 2 роки тому +1

    Хорошая тема по оптимизации, с буквой F не знал, подправлю за одно и свой код.

  • @albertumanets3983
    @albertumanets3983 Рік тому

    Классно!!! Спасибо за труд!

  • @yrisu6098
    @yrisu6098 Рік тому

    Спасибо, очень интересно и познавательно. Можно эту тему развивать.

  • @Neon-24
    @Neon-24 2 роки тому +2

    Оч интерресно.

  • @89263230559
    @89263230559 2 роки тому

    Ого, ну вы даете!!!!)

  • @alexmarkov7309
    @alexmarkov7309 Рік тому +1

    СПАСИБО !!!

  • @JonMatrix
    @JonMatrix 2 роки тому

    Давай дальше! Мне интересно даже было, хотя почти все это знаю. Теперь интересно что я не знаю

    • @arduino2000
      @arduino2000  2 роки тому

      Делаю продолжение

  • @hamelionxamlov5504
    @hamelionxamlov5504 2 роки тому

    Это дело особенно в Attiny актуально. Так что жги!

  • @Anna_Porosenok
    @Anna_Porosenok 2 роки тому

    Ну конечно есть желающие и ждём продолжения, да и снимать тебе чтото надо.

    • @arduino2000
      @arduino2000  2 роки тому

      Поверьте, снимать есть про что

    • @alexbaysha2586
      @alexbaysha2586 2 роки тому

      @@arduino2000 😄😄😄😄👍

  • @Relevantium
    @Relevantium 2 роки тому

    Снимай больше! Смотрел взахлёб, особенно интересно было когда ты применил битную систему вместо диджиталрайт, кстати, как также заменить диджиталрид битами?

  • @emilmv9089
    @emilmv9089 2 роки тому

    👍🏻👍🏻👍🏻

  • @andron311
    @andron311 2 роки тому +1

    Да,можно ещё какие-нибудь способы по экономии памяти

    • @Relevantium
      @Relevantium 2 роки тому

      Чтобы сэкономить скорость вычислений например можно используемые формулы в коде прописать в сетап, они выполнятся 1 раз при старте мк и запишутся в константу и тем самым в дальнейшем на их расчёт не бед тратиться время))

  • @olexangrstetsiuk3092
    @olexangrstetsiuk3092 2 роки тому +2

    Уже многие ардуино-блогеры делали попытки объяснить аудитории оптимизацию кода , но ни у кого не получилось так доходчиво с ,,табличными,, сравнениями показать позитивные результаты оптимизации . Очень жду объяснений почему используя функцию мейн получается такой результат , я всегда думал что среда arduino IDE сама переводит весь код с сетапа и лупа в функцию Мейн , но вижу что ошибался. И ещё одно мое заблуждение развеялось : считал что все функции с обращениями к пинам микроконтроллера тоже переводятся компилятором к обращению к портам в зависимости от выбранной платы в менеджере плат.

    • @Relevantium
      @Relevantium 2 роки тому

      Сетап и луп не переводятся, они означают что содержимое сетап выполняется 1 раз, а луп бесконечно и только это означают, вы можете писать доп функции и вызывать их там где угодно и сколько угодно раз

    • @olexangrstetsiuk3092
      @olexangrstetsiuk3092 2 роки тому

      @@Relevantium , если пробовать изучать программирование не только из среды arduino IDE , тогда увидишь что все ,,завязывается,, на функции мейн , в которой уже можно в басконечном цикле вызывать как бы - луп (тоесть ,,петля,,). Вот я и предположил себе , что это все скрыто в библиотеках ардуино ..., но видимо как то по иному устроено .

  • @Ananas.kamchatka
    @Ananas.kamchatka 2 роки тому +1

    Ещё еще))

  • @user-matiza
    @user-matiza Рік тому

    Любопытно все это.

  • @Vlafder
    @Vlafder 2 роки тому

    Очень интересное видео, конечно делай продолжение! Можешь пожалуйста посоветовать соответствующую литературу по оптимизации кода? Заранее спасибо

    • @user-ld4lj3wi3h
      @user-ld4lj3wi3h 2 роки тому

      Посмотри "Совершенный код" Стива Макконнелла и "Чистый код" Роберта Мартина

  • @vb8937
    @vb8937 Рік тому

    Подскажите как подключить два Ардуино к одному дисплею?

  • @esp32s
    @esp32s Рік тому +1

    Это круто,жаль я не программист, а лишь электронщик.Когда учился нам пк давали лишь потрогать.Сейчас комп в каждом кармане.Первую программу что написал это для советского калькулятора, а уроки назывались информатика.Потом армия и всё надолго заглохло, надолго потому что как русский бился как рыба в воде чтобы съе... на свою историческую родину, это тяжело полжизни просто впустую. Помощи ни от кого, кому мы нужны, наоборот нас ещё доили свои же менты, им всё равно что ты их брат кровный. Но что делать, я только Россию признавал своей Родиной. Теперь навёрстывать упущенное просто ни к чему, просто что-то для души, не более. До 30 лет ты рыпаешься, как одержимый, а потом понимаешь. Что ты рыпаешься, успокойся.

  • @anlaz1
    @anlaz1 2 роки тому

    Очень интересный урок.
    Но я плохо ориентируюсь в программировании. Я собрал пару ЧПУ-станков. Один для фрезерования рельефов, второй лазерный гравёр. Использую программу GRBL 1.1. На этом месте и начинается мой вопрос.
    При загрузке скетча в arduino я получаю сообщение "Недостаточно памяти, программа может работать нестабильно".
    При этом скетч использует 96% памяти, а глобальные переменные - 1633 (79%).
    Возможно ли оптимизировать этот grbl, или можно как-то добавить немого памяти на ардуино nano или uno.
    Спасибо за ваш урок.

    • @arduino2000
      @arduino2000  2 роки тому

      Не видя код сказать трудно. Если не хватает памяти можно использовать Ардуино МЕГА или ESP.

  • @user-cr9fr2mk9i
    @user-cr9fr2mk9i 2 роки тому

    В вашем примере прямая запись в порт изменяет все значения gpio на порту? Проверьте с подключенными светодиодами.

    • @arduino2000
      @arduino2000  2 роки тому

      Да. В следующем видео я показал как управлять каждым битом порта.

  • @user-wr4jz1dl6j
    @user-wr4jz1dl6j 2 роки тому

    Здравствуйте. Можете переснять видео со сдвиговым регистром 74hc165, который для того чтоб подключить много кнопок, с примером работы? А то в том старом видео нет ни одного примера, какие команды нужны - неясно! Благодарю за ваши труды!

    • @arduino2000
      @arduino2000  2 роки тому

      Странно. Обычно я выкладываю скетчи. Хорошо. Обязательно сделаю. Напишите мне на почту и я пришлю скетчи из видео

    • @user-wr4jz1dl6j
      @user-wr4jz1dl6j 2 роки тому

      @@arduino2000 спасибо! обращусь...

  • @fadorin4779
    @fadorin4779 9 місяців тому

    а какой ценой мы строки фо флеш память перекинули? она явно не за просто так в оперативку по умолчанию идёт

  • @animesk4951
    @animesk4951 2 роки тому

    Извините, вы бы не могли проверить вашу почту? :)

    • @arduino2000
      @arduino2000  2 роки тому +1

      Теперь только вечером

  • @masterkit9517
    @masterkit9517 2 роки тому +1

    1:36 ахах) FLASH у Esp 16мб у Унылого уны 32 кб)

    • @Relevantium
      @Relevantium 2 роки тому +1

      Зато на есп нет некоторых библ и это осложняет

    • @micromaster4405
      @micromaster4405 Рік тому

      Прикрути к ардуинке внешнюю память и будет тебе 16 Мб, как у есп

  • @masterkit9517
    @masterkit9517 2 роки тому +1

    да в ардуинах памяти кот наплакал в отличие от STM32