Arduino Pro Mini переходим к адресу загрузчика во Flash загрузка sketch Upload code soft reset

Поділитися
Вставка
  • Опубліковано 23 лип 2019
  • переходим к адресу загрузчика во Flash 0x7800 где (Serial BOOT LOADER).
    В начале загрузки sketch, на Arduino всегда необходимо делать RESET / перезагрузка / сброс.
    Заменим ручную перезагрузку, на программно.
    -----------------
    Программно аппаратная перезагрузка.
    Перед началом загрузки sketch, еще до RESET, на выход Serial TX поступают данные.
    --
    48
    32
    48
    32
    48
    32
    --
    ASCII Code - table.
    48 = Zero / 0.
    32 = Space / пробел.
    --
    сигнал DTR (Data Terminal Ready).
    _____________.
    _____________.
    RESET / перезагрузка / сброс - по DTR сигналу.
    _____________.
    скорость загрузки sketch, например у Arduino Pro Mini (57600).
    soft reset программная перезагрузка
    Arduino Беспроводная загрузка sketch Pro Mini Wireless Upload code Bluetooth HC-05 Своими руками
    • Arduino Беспроводная з...
    Arduino Pro Mini загрузка sketch Upload code soft reset программная перезагрузка Своими руками
    • Arduino Pro Mini загру...
    void setup() {
    Serial.begin(57600); // скорость загрузки sketch, у Arduino Pro Mini (57600).
    }
    void loop() {}
    #define GO_TO_ADRR_FLASH_MEMORY_BOOT_LOADER asm("JMP 0x7800")
    #define START_UPLOAD_SKETCH_COMMAND_1 48
    #define START_UPLOAD_SKETCH_COMMAND_2 32
    byte oldInChar;
    void serialEvent() {
    while (Serial.available()) {
    register char inChar = Serial.read();
    if (inChar == START_UPLOAD_SKETCH_COMMAND_2 && oldInChar == START_UPLOAD_SKETCH_COMMAND_1) { // поступил запрос на загрузку sketch
    while (1) {
    GO_TO_ADRR_FLASH_MEMORY_BOOT_LOADER; // переходим к адресу загрузчика во Flash 0x7800 где (Serial BOOT LOADER)
    }
    }
    oldInChar = inChar;
    }
    }

КОМЕНТАРІ • 85

  • @RomulUbivshijRema
    @RomulUbivshijRema 4 роки тому +40

    Дмитрий здравствуйте. Как и все здесь, долго ждал ваших видео, интересных проектов. Но последние два ролика слабоваты. Вы можете гораздо лучше. Надеюсь, к Вам вернется муза и вместе с ней, сделаете годный контент. Снимите отдельный ролик про себя, думаю многим будет интересно послушать. Кто за, ставьте лайки, чтобы поднять этот комментарий в топ.

    • @d36073
      @d36073  4 роки тому +6

      Боль души! я сам хочу выкладывать видеоуроки на тему электроники и программирования! я обожаю это делать, Это моя стихия.
      Не всё так просто, есть уже готовые проекты, но выложить я их не могу!
      Вспомните мой последний видеоурок, связанное с компьютерным зрением, его удалили! - осталась только копия скачанная с Ютуба, пришлось перезалить в плохом качестве.
      Иногда, наедине с самим собой, мечтаю о возможности снова выкладывать обучающие видеоуроки.
      тему электроники и программирования, взяли под строгий контроль.
      остается только плакать...
      молитесь - может ситуация изменится.

    • @RomulUbivshijRema
      @RomulUbivshijRema 4 роки тому +6

      Dmitry OSIPOV ваше видео могли удалить из-за использования музыки, без разрешения правообладателя. Например играло радио на заднем фоне. Зачем UA-cam удалять уникальный контент, который привлекает пользователей? Тут дело не в том, что UA-cam хочет, чтобы все тупели, а в чем-то другом. Может кто-то пожаловался на видео с нескольких аккаунтов. Поэтому выкладывайте новые видео и не переживайте. А оригиналы видео храните на HHD и облаке.

    • @user-jc7uz1mg1z
      @user-jc7uz1mg1z 4 роки тому +1

      @@d36073 здравствуйте Дмитрий, очень полезные уроки. Но если есть проблема с ютубом, то почему не сделаете свой сайт, где все видео можно дублировать?

    • @alanmiller1596
      @alanmiller1596 4 роки тому

      @@d36073 Дмитрий. можно создать сайт за пределами РФ и лить туда видосы, чтобы никакой контроль не мог дотянуться , собственно и закон вы этим не нарушите.

  • @spajalnikom
    @spajalnikom 4 роки тому +47

    Где Вы так долго пропадали?Полезное видео спасибо за урок.

  • @user-ky9es9nw6o
    @user-ky9es9nw6o 4 роки тому +39

    ооо, снова Дмитрий радует видосом! активно плюсую!

  • @vovatsisar3442
    @vovatsisar3442 4 роки тому +31

    Слава Богу ты пришел!!! Лайк даже не глядя.

  • @user-xt4th2jo2b
    @user-xt4th2jo2b 4 роки тому +40

    Да ну нафиг!!! 😮С возвращением! 😊

    • @d36073
      @d36073  4 роки тому +1

      @Андре Сландовский Боль души! я сам хочу выкладывать видеоуроки на тему электроники и программирования! я обожаю это делать, Это моя стихия.
      Не всё так просто, есть уже готовые проекты, но выложить я их не могу!
      Вспомните мой последний видеоурок, связанное с компьютерным зрением, его удалили! - осталась только копия скачанная с Ютуба, пришлось перезалить в плохом качестве.
      Иногда, наедине с самим собой, мечтаю о возможности снова выкладывать обучающие видеоуроки.
      тему электроники и программирования, взяли под строгий контроль.
      остается только плакать...
      молитесь - может ситуация изменится.

    • @AlexeyBukreev
      @AlexeyBukreev 4 роки тому

      @Андре Сландовский нет там никакой мистики, насколько я знаю страйк там прилетел по авторским, мол авторам той разработки не понравилось что Осипов взял их работу и выдавал за свою... если бы он соблюдал минимальную этику и указывал что и откуда он берет, проблем бы скорее всего не было.

  • @slysilver355
    @slysilver355 4 роки тому +10

    Дима, рад тебя снова видеть, с новыми идеями и уроками!
    Спасибо огромное. Появляйся почаще. Не пропадай больше так надолго! Делай хотя бы анонсы.

  • @user-tt7rt5lb2w
    @user-tt7rt5lb2w 4 роки тому +11

    Дмитрий здравствуйте мы так рады что Вы снова с нами !!! Рад что Вы справились со своими переживаниями ! Так держать !!! Не покидайте нас пожалуйста.

    • @bagizsoft
      @bagizsoft 4 роки тому

      Максим Коновалов , надеюсь ведь понимаешь что это не от него зависит!? Он никогда не покидает нас!

  • @radcontrols3d115
    @radcontrols3d115 4 роки тому +16

    Урааа !!! Долго вас ждал

  • @vadaxa
    @vadaxa 4 роки тому +23

    В следующем видео расскажи как живёшь, куда пропадаешь.

  • @user-cf4hb2zz7k
    @user-cf4hb2zz7k 4 роки тому +11

    Каждое новое видео - как праздник.

  • @bagizsoft
    @bagizsoft 4 роки тому +6

    Лайк, с разу за то, что снова ты постиш свои ролики!

  • @ZikValera
    @ZikValera 4 роки тому +3

    Спасибо Дмитрий за урок, я не знал этих секретов. И с возвращением!!!

  • @stubbornlifeseeker
    @stubbornlifeseeker 4 роки тому +2

    Дмитрий! Спасибо, что вы снова с нами! Посмотрите комментарии - как много людей обеспокоены вашим длительным отсутствием! Будьте здоровы!

  • @lagunenkovpiter548
    @lagunenkovpiter548 4 роки тому +1

    Дима, сейчас народ делает 3Д принтеры и CNC станки. Пользуются программами марлин, грбл и др. Шаговый двигатель - сердце этих устройств. Я пробовал сам поделать программы для управления движками. Библиотеки в основном никакие. Самая крутая AccelStepper. Но врубиться в нее не просто, примеров мало. Интересно не просто покрутить моторчик. Нужно позиционирование, контроль положения, ускорение и замедление, ориентирование процесса движения по концевикам. Давай, у тебя есть талант!

  • @ednodweedno6773
    @ednodweedno6773 4 роки тому

    Здраствуйте из Болгарии!! Я очень многа рад что Вий здесь. Простите для ошибки! Вий очень популярен в Болгарии :)

  • @TheRecordinginfo
    @TheRecordinginfo 4 роки тому +1

    Дмитрий, с возвращением! Не пропадайте больше.

  • @DezzGen
    @DezzGen 4 роки тому +11

    Ты жив ещё ? )))
    Рад новому видео. Лойз не глядя )

  • @vovatsisar3442
    @vovatsisar3442 4 роки тому +7

    Пробовал ставить второй лайк (уже после просмотра) - нифига. Урок интересный и полезный

  • @user-vlad385
    @user-vlad385 4 роки тому +3

    Приветствую Вас Дмитрий ! Очень рад что не забросили канал . Я понимаю что всегда не хватает времени .

  • @aleksandranshin2135
    @aleksandranshin2135 4 роки тому +1

    Дмитрий! Снимай видосы чаще, очень необходимо и интересно. Проблемы с временем и финансами есть у всех, но качественные видосы по нужной теме с доступными пояснениями получаются у тебя. Держи лайкос.

  • @user-of1ok1ux6j
    @user-of1ok1ux6j 4 роки тому +4

    Как долго мы Вас ждали!!!

  • @olegsergeevich3972
    @olegsergeevich3972 4 роки тому +2

    Дмитрий, не теряйтесь больше. Пожалуйста

  • @user-tb5nt6yt8i
    @user-tb5nt6yt8i 4 роки тому

    На мой взгляд, проблемы в контентом могут быть из за того, что выпуски Дмитрия кому-то мешают. Дмитрий делает уникальные (не трындит как другие, повторяя друг друга как зажечь светодиод или смотрите, что я сделал). Он учит и делится наработками своими. Мне сдается, что он опасен тем кто своими наработками ТОРГУЕТ, - Чип и Дип, Амперка и иже с ними. Ибо их модули нам не интересны, благодаря Дмитрию мы можем сами и порой даже лучше!

  • @StalkerSoft
    @StalkerSoft 4 роки тому +1

    С возвращение!
    Спасибо за интересное видео!

  • @Varakman
    @Varakman 4 роки тому +4

    Спасибо что живой! Ждем новых видео. Хотели бы узнать ваше мнение о программе Flprog и платах ESP.

  • @user-lt5kl2es1x
    @user-lt5kl2es1x 4 роки тому +3

    Здравствуйте рад вас видеть

  • @dasramm8513
    @dasramm8513 4 роки тому +10

    Привет ! Куда исчез ???? Рады твоему возвращению !!!

  • @user-dp3fw9vw7j
    @user-dp3fw9vw7j 4 роки тому +1

    Спасибо за видео, давно не виделись :-). Пора уже ардуино леонардо осваивать ;-). По данному материалу: в идеале все же сделать через прерывание, далее оформить отдельным файлом либо библиотекой, для более простого импорта данного куска кода в остальные скетчи.

  • @digitalmaker3d
    @digitalmaker3d 4 роки тому

    С возвращением, Дмитрий!!! Я верил в Вас.

  • @kcvents
    @kcvents 4 роки тому +3

    Круто!!!!

  • @user-sn8qq9ex2d
    @user-sn8qq9ex2d 4 роки тому

    Дмитрий, хорошего творчества!!!

  • @nickw9007
    @nickw9007 4 роки тому

    Спасибо. Интересно. До этого всегда шил через spi программатором.

  • @Alex-Dega
    @Alex-Dega 4 роки тому +1

    Ух ты! Димка вернулся! щас он всех всему научит😏

  • @palyura1162
    @palyura1162 4 роки тому +1

    Рад вашему новому видио. Переживал (Киев) куда Вы так на долго пропали.

  • @user-zh5sc1xp5x
    @user-zh5sc1xp5x 4 роки тому +1

    С возвращением!!!!!

  • @user-dy6ne5zg6u
    @user-dy6ne5zg6u 4 роки тому +1

    С возвращением.

  • @ivanlitvinov7276
    @ivanlitvinov7276 4 роки тому

    Давно ждал видео от Вас)

  • @Perepodvyvert_s_perevorotom
    @Perepodvyvert_s_perevorotom 4 роки тому

    Сто лет, сто зим!
    Категорически приветствую!

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

    Спасибо!

  • @mainSD5
    @mainSD5 4 роки тому +3

    Он живой!

  • @user-uz7be7bg5n
    @user-uz7be7bg5n 4 роки тому +4

    Тут ардуино спрашивала , не видел ли кто Осипова!

  • @viktormanasyan3747
    @viktormanasyan3747 4 роки тому +2

    Дмитрий надеемся ты вернулся к нам на долго

  • @skypyder
    @skypyder 4 роки тому +1

    Живой чувак! Давай не теряйся,просвещай!

  • @UKRODIZIAK
    @UKRODIZIAK 4 роки тому +3

    Человек загадка.

    • @bagizsoft
      @bagizsoft 4 роки тому +2

      Лайки Ничего загадочного нету! Просто человек не хочет сойти с ума. Учиться программированию, самостоятельно! Так каждый человек поступает когда времени на то посветить есть долгие годы, а может и оставшиеся до конца. Я рад ему и всегда благодарен за знание!

  • @bubikgenover9160
    @bubikgenover9160 4 роки тому +1

    Человек вернулся!

  • @user-vs5kh9wq9u
    @user-vs5kh9wq9u 4 роки тому

    спасибо тебе

  • @user-xd6tt9ll7v
    @user-xd6tt9ll7v 4 роки тому +1

    ты снова снами )))

  • @user-xh3db7xi8p
    @user-xh3db7xi8p 4 роки тому

    спасибо

  • @user-fl2tk3dk5t
    @user-fl2tk3dk5t 4 роки тому

    👍

  • @igor.volkov
    @igor.volkov 4 роки тому +2

    ого!

  • @pioneercnc1395
    @pioneercnc1395 4 роки тому

    Здравствуйте Дмитрий !!!!!

  • @Belyakov512
    @Belyakov512 4 роки тому

    Дмитрий, с удовольствием смотрю ваши видосы, и нахожу в них много интересного! Не могли бы вы обратить свое внимание на платы на esp8266! Я сейчас пытаюсь строить умный дом на них, а точнее на контроллере wemos d1 mini и прошивке esp easy! Вещь просто бомбовская, но к сожалению очень мало примеров в интернете и то что хочется реализовать не всегда получается! А платы недорогие и универсальные! Обратите на них свое внимание, пожалуйста!

  • @rompaly4
    @rompaly4 4 роки тому

    о нормас)

  • @user-lt5kl2es1x
    @user-lt5kl2es1x 4 роки тому +1

    Где вы были 👍👍👍👍👍👍

  • @user-zw2gp8jh1r
    @user-zw2gp8jh1r 4 роки тому

    Дмитрий, привет. У меня вопрос по работе с ридерами RFID-ключей (правда, на 125кгц):
    собрал замок, использовав вашу идею, но применив вместо 13,56МГц 125кГц. Проблема, собственно, в том, что при чтении ключа, сработка происходит не 1 раз, а от 2 до 5 раз и ни чего не могу с этим поделать...

  • @user-xi2hl8xn7p
    @user-xi2hl8xn7p 4 роки тому +1

    Любезный, где вы добываете такие палёные про-мини,
    мои шьются на-раз, а конденсатор на ресет штатно запаян.

  • @user-xi2hl8xn7p
    @user-xi2hl8xn7p 4 роки тому

    Все загрузчики, и в интеле и прочем, по умолчанию в верхних адресах памяти, иначе компилировать будет очень весело)

  • @user-qm5vm7sd9j
    @user-qm5vm7sd9j 4 роки тому

    Здравствуйте Дмитрий. Посмотрев это видео возник логический вопрос. Если не используется физический пин ардуино отвечающий за перезагрузку то логично было бы предположить что таким способом можно прошивать чипы в которых фьюзами отключен пин перезагрузки и используеьтся как пин ввода-вывода. Поправьте меня если я ошибаюсь.

  • @chegleeff
    @chegleeff 4 роки тому

    Дима, а будет ли что нибудь про модули ESP8266 (или ESP32) или про микроконтроллеры STM ?

  • @user-xt4th2jo2b
    @user-xt4th2jo2b 4 роки тому +3

    Куда пропали?

  • @f33net
    @f33net 4 роки тому

    Загрузчик в мегах может быть иного размере, не обязательно 2кБ, чтобы начинаться с адреса 7800, объём флэшки может быть разного размера и адрес, опять же, будет иной - загрузчик всегда лежит на дне памяти у меги. Но процессор после сброса начинает выполнять код с адреса ноль, а по адресу ноль лежит инструкция jmp загрузчик.. Может быть, я уже забыл и в мегах фьюзами задаётся адрес старта?

  • @tencsoftcorp.4682
    @tencsoftcorp.4682 4 роки тому

    Можете рассказать про pc speaker? Буду рад

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

    А в Меге2560 по какому адресу перейти?

  • @budaevw3669
    @budaevw3669 4 роки тому

    а где вызывается этот кусок кода? setup и loop пустой

  • @agusheripurnomo2881
    @agusheripurnomo2881 4 роки тому

    Lama tidak muncul, salam dari indonesia

  • @user-qf7so6xq6z
    @user-qf7so6xq6z 4 роки тому

    купить на алиэкспресс можно сдесь
    Arduino Pro Mini
    letyshops.com/r/aliexpress-o9kzw1vrfa8gg
    модуль
    letyshops.com/r/aliexpress-o9kzw1vrgmsco

  • @user-lt5kl2es1x
    @user-lt5kl2es1x 4 роки тому

    Наверное это не он . Дмитрий когда ему задавали вопрос об обезателно отвечал ,я тоже запомнился

  • @gavrservise4826
    @gavrservise4826 4 роки тому

    Сколько лет сколько зим

  • @fav7503
    @fav7503 4 роки тому

    Как переделать скетч на радио пульт 433 МГц. Сайт амперка шторы жалюзи.
    Вот скетч
    // Мы будем использовать библиотеки для работы с ИК и с сервоприводами #include #include // Определим номера используемых пинов #define RECV_PIN 2 #define SERV_PIN 3 #define BUZZER_PIN 4 // Определим тип «действие» enum Command { CMD_NONE = 0, CMD_OPEN = 1, CMD_CLOSE = 2 }; // Создадим объект для пользования ИК-библиотекой IRrecv irrecv(RECV_PIN); decode_results results; // Создадим переменные, которые будут хранить коды кнопок пульта unsigned long codeOpen = 0; unsigned long codeClose = 0; // Определим переменные для хранения полученной команды и времени её получения unsigned long cmdStartTime; unsigned char cmd; // Создадим объект для управления сервоприводом постоянного вращения Servo srv; // Из-за особенностей реализации нельзя использовать библиотеку IRremote // вместе с функцией beep (они используют одно и тоже прерывание). Чтобы // справиться с этой бедой мы, не используя прерываний, реализовали свою версию // функции beep. void beeep(int pin, int freq, unsigned long duration) { unsigned long start; // Переводит пин в выход pinMode(pin, OUTPUT); // Запоминаем момент начала выполнения start = millis(); // В течение duration миллисекунд пищим while (millis() - start < duration) { // Частота писка определяется паузами между изменениями состояния пина digitalWrite(pin, HIGH); delay(1000/freq/2); digitalWrite(pin, LOW); delay(1000/freq/2); } // На всякий случай переводит пин обратно в режим чтения pinMode(pin, INPUT_PULLUP); } // Функция "обучения" устройства (запоминания кодов кнопок открытия/закрытия) void learn(void) { // Ждём получения корректной команды // (условие окончания цикла находится в его теле) while (true) { if (irrecv.decode(&results)) { // Получили какой-то код. Сообщим библиотеке, что мы обработали событие. irrecv.resume(); // Пропускаем коды короче 16 бит (наши пульты давали коды 16 или 32 бита, // остальные считаем ошибочными) if (results.bits >= 16) { // Сохраняем пришедший код как код на открытие codeOpen = results.value; // В знак подтверждения пикаем beeep(BUZZER_PIN, 500, 100); break; } // Ждём 100 мс, чтобы пропустить случайный приём пачки одинаковых кодов delay(100); } } // На всякий случай ждём 200 мс (пользователь явно быстрее не будет на кнопки // нажимать) delay(200); // Таким же методом принимаем второй код (на закрытие) while (true) { if (irrecv.decode(&results)) { irrecv.resume(); if (results.bits >= 16 && results.value != codeOpen) { codeClose = results.value; beeep(BUZZER_PIN, 500, 100); break; } delay(100); } } } // Функция инициализации устройства void setup(void) { // Запускаем библиотеку IRRemote irrecv.enableIRIn(); // Инициализируем команду (не было команды) cmd = CMD_NONE; // Сообщаем пользователю, что мы запустились тройным пиком beeep(BUZZER_PIN, 500, 100); delay(100); beeep(BUZZER_PIN, 500, 100); delay(100); beeep(BUZZER_PIN, 500, 100); delay(100); // Запускаем процедуру "обучения" learn(); // Пищим в знак окончания процедуры обучения beeep(BUZZER_PIN, 2000, 1000); } // Пуск сервопривода постоянного вращения void start(void) { srv.attach(SERV_PIN); srv.write(cmd == CMD_OPEN ? 0 : 120); } // Остановка мотора void stop(void) { // Самый простой способ остановить серву постоянного вращения - отсоединиться // от неё srv.detach(); } // Рабочий цикл программы void loop(void) { unsigned long codeValue; int codeLen; // Запускаем сканирование команды по ИК if (irrecv.decode(&results)) { // Сообщаем библиотеке, что приняли её информацию irrecv.resume(); // Получаем код и длину кода codeValue = results.value; codeLen = results.bits; // Отсеиваем неправильные коды if (codeLen >= 16) { // Если пришёл код на открытие и на данный момент привод не крутится в // противоположную сторону, включаем открытие. if (codeValue == codeOpen && cmd != CMD_CLOSE) { cmd = CMD_OPEN; cmdStartTime = millis(); start(); } else if (codeValue == codeClose && cmd != CMD_OPEN) { // Если пришёл код на закрытие и на данный момент привод не крутится в // противоположную сторону, включаем открытие. cmd = CMD_CLOSE; cmdStartTime = millis(); start(); } // Если приходит команда на резкую смену направления вращения - спасаем // серву от смерти, игнорируя такую плохую команду. } else if (codeLen == 0 && (cmd == CMD_OPEN || cmd == CMD_CLOSE)) { // Некоторые пульты при удержании кнопки в нажатом состоянии посылают код // нулевой длины. Будем считать это повтором команды. cmdStartTime = millis(); } delay(100); } // Здесь мы выключаем привод через 500 мс после последней полученной команды if (cmd == CMD_OPEN || cmd == CMD_CLOSE) { if (millis() - cmdStartTime > 500) { cmd = CMD_NONE; stop(); // Дождёмся полной остановки привода delay(1000); } } }

    • @fav7503
      @fav7503 4 роки тому

      wiki.amperka.ru/projects:irjalousie

  • @nikons1484
    @nikons1484 4 роки тому

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

  • @ElectricNail
    @ElectricNail 4 роки тому

    Здравствуйте! Куда пропали?

  • @macsik12
    @macsik12 4 роки тому

    Если ардуино мега РЖД подключить к вам по кабелю Lighting то можно получить генеральный план по которому можно стать участником группы компаний гениев

  • @Povelevatel_Vselennoi
    @Povelevatel_Vselennoi 4 місяці тому

    Дима, привет! Куда пропал?!

  • @Legantmar
    @Legantmar 4 роки тому +1

    esp8266 OTA

  • @zzazivsmazzipapa2984
    @zzazivsmazzipapa2984 4 роки тому

    🌹😎🤩🤩 can you writing and sharing arduino +lcd+menu+multilingual +Russian/English tutorial please iam not find in the internet project

  • @ildarsatelit
    @ildarsatelit 4 роки тому

    линукс на есп8266 реально