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

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ธ.ค. 2024

ความคิดเห็น •

  • @arduino2000
    @arduino2000  2 ปีที่แล้ว +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

  • @МишаПопов-п1г
    @МишаПопов-п1г 9 วันที่ผ่านมา

    Эталон методичности! Выводит мышление на новый уровень! Это особенно ценно для начинающих!

  • @nikolaygorev7536
    @nikolaygorev7536 ปีที่แล้ว +1

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

  • @aagwww
    @aagwww 2 ปีที่แล้ว +8

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

  • @VitaliyZlobin
    @VitaliyZlobin ปีที่แล้ว

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

  • @АлексейМазуров-г6п
    @АлексейМазуров-г6п 2 ปีที่แล้ว +3

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

  • @ИгорьТуленинов-г4ф
    @ИгорьТуленинов-г4ф 2 ปีที่แล้ว +3

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

  • @DREAMERRM68
    @DREAMERRM68 2 ปีที่แล้ว +3

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

  • @andrespaganini1318
    @andrespaganini1318 2 ปีที่แล้ว +4

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

  • @АнатолийКазаков-м7ъ
    @АнатолийКазаков-м7ъ 6 หลายเดือนก่อน +1

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

  • @Мерзость
    @Мерзость ปีที่แล้ว +1

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

  • @medbed9364
    @medbed9364 2 ปีที่แล้ว +2

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

  • @sergey-380
    @sergey-380 2 ปีที่แล้ว +2

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

  • @Relevantium
    @Relevantium 2 ปีที่แล้ว +2

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

  • @kot_74_Bender
    @kot_74_Bender หลายเดือนก่อน +1

    здОрово ! Действительно хорошо объяснено, жаль что за два года так мало лайков. Для Arduino Uno может такой простой пример и не показателен (типа: а зачем? места же хватает) а вот для ATTiny самое оно!

  • @olexangrstetsiuk3092
    @olexangrstetsiuk3092 2 ปีที่แล้ว +1

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

  • @mixi3193
    @mixi3193 2 ปีที่แล้ว +1

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

  • @alexmarkov7309
    @alexmarkov7309 2 ปีที่แล้ว +1

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

  • @kosmos8460
    @kosmos8460 2 ปีที่แล้ว +3

    Сразу лайк 👍

    • @arduino2000
      @arduino2000  2 ปีที่แล้ว +3

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

    • @kosmos8460
      @kosmos8460 2 ปีที่แล้ว

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

  • @pro_stroy
    @pro_stroy ปีที่แล้ว

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

  • @Ванясусанин-э8м
    @Ванясусанин-э8м 2 ปีที่แล้ว +1

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

  • @MrMimus
    @MrMimus ปีที่แล้ว

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

  • @kosmos8460
    @kosmos8460 2 ปีที่แล้ว +1

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

    • @alexrakin1181
      @alexrakin1181 2 ปีที่แล้ว +1

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

  • @ІванГулейчук-п6р
    @ІванГулейчук-п6р 2 ปีที่แล้ว +2

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

  • @Ananas.kamchatka
    @Ananas.kamchatka 2 ปีที่แล้ว

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

  • @OttoLilo
    @OttoLilo 2 ปีที่แล้ว +1

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

    • @arduino2000
      @arduino2000  2 ปีที่แล้ว +1

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

  • @donfedor007
    @donfedor007 ปีที่แล้ว +1

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

    • @arduino2000
      @arduino2000  ปีที่แล้ว

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

    • @donfedor007
      @donfedor007 ปีที่แล้ว

      @@arduino2000 жаль (

  • @commonman2557
    @commonman2557 2 ปีที่แล้ว

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

    • @arduino2000
      @arduino2000  2 ปีที่แล้ว

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

  • @НикитаИванов-н5ю
    @НикитаИванов-н5ю 2 ปีที่แล้ว +1

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

    • @arduino2000
      @arduino2000  2 ปีที่แล้ว +1

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

  • @tree-service
    @tree-service 11 หลายเดือนก่อน

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

  • @olexangrstetsiuk3092
    @olexangrstetsiuk3092 2 ปีที่แล้ว +1

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

  • @tree-service
    @tree-service 11 หลายเดือนก่อน

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

  • @RussiaVAZ
    @RussiaVAZ ปีที่แล้ว

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

  • @Ananas.kamchatka
    @Ananas.kamchatka 2 ปีที่แล้ว

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

  • @alexrakin1181
    @alexrakin1181 2 ปีที่แล้ว +2

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

    • @VitaliyZlobin
      @VitaliyZlobin ปีที่แล้ว

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

  • @TheRajvo
    @TheRajvo 2 ปีที่แล้ว +2

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

    • @arduino2000
      @arduino2000  2 ปีที่แล้ว

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

    • @TheRajvo
      @TheRajvo 2 ปีที่แล้ว

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

    • @arduino2000
      @arduino2000  2 ปีที่แล้ว +1

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

  • @jalokin84
    @jalokin84 2 ปีที่แล้ว

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

    • @arduino2000
      @arduino2000  2 ปีที่แล้ว +1

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

    • @jalokin84
      @jalokin84 2 ปีที่แล้ว

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

    • @arduino2000
      @arduino2000  2 ปีที่แล้ว +1

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

    • @serge221
      @serge221 2 ปีที่แล้ว +1

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

    • @arduino2000
      @arduino2000  2 ปีที่แล้ว

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

  • @LeoPlus
    @LeoPlus 8 หลายเดือนก่อน

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

  • @ПриманкаТВ-о6ш
    @ПриманкаТВ-о6ш 2 หลายเดือนก่อน

    Машинным кодом еще удобнее писать , нулями и единицами

  • @Rodikolion
    @Rodikolion 3 หลายเดือนก่อน

    😂😂😂

  • @sashasvitr7344
    @sashasvitr7344 2 ปีที่แล้ว

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

    • @arduino2000
      @arduino2000  2 ปีที่แล้ว

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

  • @RussiaVAZ
    @RussiaVAZ ปีที่แล้ว +2

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