Оптимизация кода Ардуино для начинающих программирование и ускорение работы

Sdílet
Vložit
  • čas přidán 29. 01. 2022
  • Оптимизация кода Ардуино для начинающих. Программирование и ускорение работы. Изменение кода и доступ к регистрам и портам. Продвинутый язык программирования ардуино.
    Скетчи используемые в видео можно скачать на сайте "Ардуино для начинающих".
    arduino-kid.ru/blog/optimizaci...
    Помочь в развитии канала, и на покупку новых модулей и датчиков yoomoney.ru/to/410011924549016
    Официальный сайт arduino-kid.ru
    Группа в контакте club196958636
    Почта arduino-kid@yandex.ru
    Подпишитесь на канал
    ссылка на канал / Ардуинодляначинающих
    Теги:
    #ардуино #arduino #урокиардуино #ардуинодляначинающих #ардуиноуроки
  • Věda a technologie

Komentáře • 58

  • @arduino2000
    @arduino2000  Před 2 lety +3

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

  • @user-fi7dz1ph8v
    @user-fi7dz1ph8v Před měsícem +1

    Спасибо, всё очень доступно и понятно

  • @aagwww
    @aagwww Před 2 lety +8

    Отлично! Ясно, просто и доходчиво. Прошу вас продолжать.

  • @user-ed7jx4ul7h
    @user-ed7jx4ul7h Před 2 lety +3

    Автор! Ждём продолжение, обязательно!

  • @andrespaganini1318
    @andrespaganini1318 Před rokem +4

    Классно и понятно, большое спасибо, обязательно продолжайте в том же духе.

  • @user-ib4vo5hc9r
    @user-ib4vo5hc9r Před 2 lety +3

    Ждём продолжения. Очень интересно.

  • @nikolaygorev7536
    @nikolaygorev7536 Před 10 měsíci +1

    отличный урок. доходчиво, понятно. урок от профессионала.

  • @DREAMERRM68
    @DREAMERRM68 Před 2 lety +3

    Полезное и нужное видео. .....Жду продолжения.

  • @VitaliyZlobin
    @VitaliyZlobin Před 10 měsíci

    Высший пилотаж. Браво, автор!

  • @sergey-380
    @sergey-380 Před 2 lety +2

    Супер, як завжди!

  • @medbed9364
    @medbed9364 Před rokem +2

    Спасибо, очень информативно! Хотел попросить Вас сделать серию видео про организацию шины данных по интерфейсам.

  • @Relevantium
    @Relevantium Před 2 lety +2

    Спасибо, регистровый метод очень полезен, очень хочется узнать больше!

  • @Мерзость
    @Мерзость Před 8 měsíci +1

    Очень хорошая подача. Ждём развития канала и живого голоса автора😊

  • @pro_stroy
    @pro_stroy Před rokem

    Очень полезно.

  • @olexangrstetsiuk3092
    @olexangrstetsiuk3092 Před 2 lety +1

    Очень правильно , что затронули эту тему , но замечу : что я бы никогда не понял программирование микроконтроллеров без традиционного вайрлинга , теперь же когда знаешь и понимаешь как изобретать новые нужные алгоритмы (реакции на входящие данные) можно вникать в низкоуровневое программирования для увеличения функционала маломощного микроконтроллера . Ещё очень жду Ваших исследований с объяснениеми в ООП.

  • @alexmarkov7309
    @alexmarkov7309 Před rokem +1

    Огромное СПАСИБО !!!

  • @mixi3193
    @mixi3193 Před 2 lety +1

    Коротко, Ёмко. Вот ответ 👍

  • @Ananas.kamchatka
    @Ananas.kamchatka Před 2 lety

    Жду продолжения)

  • @MrMimus
    @MrMimus Před rokem

    Полезно. Апнул мой скил :) благодырочка!

  • @kosmos8460
    @kosmos8460 Před 2 lety +3

    Сразу лайк 👍

    • @arduino2000
      @arduino2000  Před 2 lety +3

      А посмотреть))) Ещё надо было написать ПЕРВЫЙ!!!

    • @kosmos8460
      @kosmos8460 Před 2 lety

      Сразу и посмотрел спасибо

  • @user-uo6gc5sz8j
    @user-uo6gc5sz8j Před 2 lety +1

    Здемс продолжения!)

  • @user-oo2ft6pu4c
    @user-oo2ft6pu4c Před 2 lety +2

    Очень доходчиво объясняете) с нетерпением жду следующее видео. Есть какраз один проект который хочу оптимизировать)
    А есть какие нибудь примеры с работой олед дисплея напряму? Буду очень благодарен, и спасибо за видео.

  • @kosmos8460
    @kosmos8460 Před 2 lety +1

    Одназначно намного лучше с регистрами и портами и понятне чем дижиталами и аналог райтами спасибо вам большое и если не забыли то прерывание тоже покажите 👍😉

    • @alexrakin1181
      @alexrakin1181 Před 2 lety +1

      А чем именно лучше? Оперировать магическими числами в регистрах? Тогда вообще лучше писать на асме. Насчет прерываний согласен но причем здесь Ардуино? Пишите на голой Меге

  • @donfedor007
    @donfedor007 Před 7 měsíci +1

    Очень круто! Будет продолжение ?

    • @arduino2000
      @arduino2000  Před 7 měsíci

      Нет. Я больше этим не занимаюсь.

    • @donfedor007
      @donfedor007 Před 7 měsíci

      @@arduino2000 жаль (

  • @RussiaVAZ
    @RussiaVAZ Před rokem +2

    Пробовал делать blink с int main(), но почему-то цикл while(1) все ровно ардуино упорно выполняет один раз. Версия ардуино 1.8.19.

  • @OttoLilo
    @OttoLilo Před 2 lety +1

    Заинтересовала работа с регистрами

    • @arduino2000
      @arduino2000  Před 2 lety +1

      Скоро будет новое видео про регистры

  • @olexangrstetsiuk3092
    @olexangrstetsiuk3092 Před 2 lety +1

    Хорошо бы предупредить начинающих , что называть переменные можно длинными-понятными именами , так как увеличенная длинв имени переменной не увеличивает размер кода .

  • @tree-service
    @tree-service Před 6 měsíci

    а как бы это дело использовать с классами, например некоторый класс требует на вход числовой номер пина в виде integer например,
    и таких классов много, переменных куча.
    копирований памяти тоже куча, и вот как передать например в функцию номер пина как номера бита.
    т.е. например класс требует int PinX, а мы ему хотим не байт и номер бита передать, как вот здесь быть? как передать нужные порт и регистр этого порта?
    если мы хотим к примеру некую универсальность, у нас напрмиер класс может работать и на аналоговых и на цифровых пинах, как передать что 5 байт на порту C например.
    какое объявление должно быть?

  • @user-wr4jz1dl6j
    @user-wr4jz1dl6j Před 2 lety +1

    А можно комментарии, которые по сериал порту отображаются, не закоментировать вручную, а в условные конструкции ставить #if #endif (условная компиляция). Так делают для отладки скетча.

    • @arduino2000
      @arduino2000  Před 2 lety +1

      Можно. Но я подумал, что пока рано. В следующих видео хотел рассказать

  • @commonman2557
    @commonman2557 Před 2 lety

    Вопрос: через digitalwrite - мы можем изменять по отдельности состоянием разных выходов, через регистр так же не получится?
    Например: приходит сигнал (например с пульта) в хай 8й выход, выполняется: PORTB = 0b00000001; затем приходит команда в хай 9й выполняется PORTB = 0b00000010; а нам 8й ненужно было в лоу переводить.

    • @arduino2000
      @arduino2000  Před 2 lety

      Можно управлять каждым битом порта в отдельности
      PORTD &= ~(1

  • @tree-service
    @tree-service Před 6 měsíci

    иными словами какой тип имеют DDRB DDRС DDRD и другие , и как их передать в функцию к примеру.

  • @Ananas.kamchatka
    @Ananas.kamchatka Před 2 lety

    А с вами можно как нибудь связаться?

  • @LeoPlus
    @LeoPlus Před 3 měsíci

    Я в шоке, от души!

  • @TheRajvo
    @TheRajvo Před 2 lety +2

    Помнится, мы в 90-е и 00-е так же коды страниц сайта оптимизировали - вплоть до килобайта. Потом все это вдруг резко стало не нужно

    • @arduino2000
      @arduino2000  Před 2 lety

      Я помню что картинка не должна была весить больше 15-20 килобайт. И сайты я писал в блокноте. Вот было время.

    • @TheRajvo
      @TheRajvo Před 2 lety

      @@arduino2000 ага, я целый год потратил на изучение HTML :))

    • @arduino2000
      @arduino2000  Před 2 lety +1

      @@TheRajvo а я до сих пор могу любую таблицу на HTML написать, с любыми ячейками и вложенностью )))

  • @alexrakin1181
    @alexrakin1181 Před 2 lety +2

    Возврат к чистому Си или к асму вряд ли имеет смысл. Развитие идет выпуском более мощных микроконтроллеров и менее привязаных к железу языков програмирования но не наоборот

    • @VitaliyZlobin
      @VitaliyZlobin Před 10 měsíci

      Так никто и не говорит о преждевременной оптимизации - можно прототипировать и работать на высокоуровневых языках, а оптимизировать лишь горячий код и высоконагруженные части системы.
      Но лично я бы хотел, чтобы мой девайс работал быстрее в 5 раз чем у конкурента)

  • @jalokin84
    @jalokin84 Před 2 lety

    Глупый наверное вопрос но как долго проработает ардуино на миллис? Как ни крути это ведь процесс, но скорее всего вопрос глупый

    • @arduino2000
      @arduino2000  Před 2 lety +1

      На миллис 49 дней, на микрос 70 минут. У меня есть видео где я про это рассказывал сколько и почему так

    • @jalokin84
      @jalokin84 Před 2 lety

      @@arduino2000 я не про это, миллис по переполнению сбросится и по новой пойдёт отсчёт, я про вообще жизнь микроконтроллера , в том смысле что к примеру у флешки есть 200000 циклов перезаписи и так далее

    • @arduino2000
      @arduino2000  Před 2 lety +1

      @@jalokin84 я свою нану использую уже пару лет. И в день прошиваю раз по 20-40, и ничего работает как часы.

    • @serge221
      @serge221 Před 2 lety +1

      Работает 4 года онлайн без выключения

    • @arduino2000
      @arduino2000  Před 2 lety

      @@jalokin84 следующее видео будет про использование программы Proteus. В ней можно собрать и протестировать коде без Ардуино

  • @sashasvitr7344
    @sashasvitr7344 Před 2 lety

    ну тоесть не пишите на ардуино, а пишите на С+ )))

    • @arduino2000
      @arduino2000  Před 2 lety

      Всё зависит от желания и необходимости. Если скорость и размер не имеют значения, то можно писать как угодно. Я например тоже редко когда пишу оптимальный код. Только когда очень прижмёт. А так- сплошные delay(100000)

  • @RussiaVAZ
    @RussiaVAZ Před rokem

    Пробовал делать blink с int main(), но почему-то цикл while(1) все ровно ардуино упорно выполняет один раз. Версия ардуино 1.8.19.