Arduino как ISP — программа загружается на Arduino, а не на макетную плату

atmega328 arduinoisp

Я следую этому руководству и подключил Arduino, используя эту схему:

Вот как это выглядит:

Эти параметры выбираются в Arduino IDE:

Вот программу, которую я загружаю:

// функция настройки запускается один раз, когда вы нажимаете сброс или включаете плату
void setup() {
  // инициализируем цифровой вывод LED_BUILTIN как выход.
  pinMode(9, OUTPUT);
  digitalWrite(9, HIGH);
}

// функция цикла выполняется снова и снова, вечно
void loop() {
  digitalWrite(9, HIGH);   // включаем светодиод (HIGH - уровень напряжения)
  delay(1000);                       // подождем секунду
  digitalWrite(9, LOW);    // выключаем светодиод, понижая напряжение
  delay(1000);                       // подождем секунду
}

Когда я загружаю его, он загружается на Atmega на плате Arduino, а не на макетную плату. Оба чипа ATMEGA328P.

Я также пытался подключить конденсатор емкостью 10 мкФ между контактами GND и RESET платы Arduino, что привело к следующим ошибкам:

Sketch uses 936 bytes (3%) of program storage space. Maximum is 30720 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avrdude -CC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM4 -b115200 -D -Uflash:w:C:\Users\Jakub\AppData\Local\Temp\arduino_build_319338/BlinkTestAtmega.ino.hex:i 

avrdude: Version 6.3-20171130
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM4
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x12
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xe0
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xe0

avrdude done.  Thank you.

Problem uploading to board.  See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

Обратите внимание, что у меня есть самодельный программатор ATTINY для этой платы Arduino, и он работает без проблем.

, 👍2

Обсуждение

Есть ли у вас конденсатор на выводе RESET Arduino? Судя по вашему изображению, я не уверен. Это необходимо для предотвращения сброса Arduino и запуска загрузчика при открытии последовательного порта., @chrisl

Пробовал туда поставить конденсаторы 10мкФ и 22нФ. При 10 мкФ я получаю кучу ошибок avrdude: stk500_getsync() попытка 10 из 10: нет синхронизации, ограничение 22 нФ не имеет никакого эффекта., @Tomáš Zato - Reinstate Monica

@Юрай, Юрай, я не понимаю. Вы хотите сказать, что учебник, которому я следую, неправильный? Когда я выбираю «Записать загрузчик», все завершается без ошибок, но я не знаю, делает ли это что-нибудь на самом деле., @Tomáš Zato - Reinstate Monica

@Juraj Я использую IDE Arduino, я не знаю, как получить доступ к другим выводам, кроме тех, которые доступны в IDE., @Tomáš Zato - Reinstate Monica

извини. Используйте «Загрузить с помощью программатора» в меню «Скетч», чтобы загрузить скетч через интернет-провайдера., @Juraj

после загрузки загрузчика вам необходимо удалить чип из Arduino и подключить линии tx/rx от Arduino к чипу макетной платы. Это упомянуто во второй части предоставленной вами ссылки. Ты сделал это..?, @varun

@Juraj Круто, все работает отлично. В более старых версиях Arduino IDE для загрузки через ISP использовалась одна и та же кнопка. На мой взгляд, это имело смысл. В конце концов, я уже выбрал Arduino в качестве интернет-провайдера., @Tomáš Zato - Reinstate Monica


1 ответ


Лучший ответ:

2

Используйте «Загрузить с помощью программатора» в меню «Скетч», чтобы загрузить скетч через ISP

внимание, удаляется загрузчик

,