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, и он работает без проблем.
@Tomáš Zato - Reinstate Monica, 👍2
Обсуждение1 ответ
Лучший ответ:
▲ 2
Используйте «Загрузить с помощью программатора» в меню «Скетч», чтобы загрузить скетч через ISP
внимание, удаляется загрузчик
,
@Juraj
Смотрите также:
- Arduino UNO для получения подписи чипа ATmega328P-PU
- Как запрограммировать чип ATmega328 au tqfp32 (SMD)?
- Ардуино как ISP с serial monitor для ATmega328
- Как записать загрузчик и загрузить скетчи на ATmega328P U (конкретно этой модели)?
- Почему ATMEGA328P U-TH не отвечает USBasp, но работает с Arduino в качестве ISP?
- Как записать загрузчик на atmega328 (не atmega328p)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
- Запрограммировать ATMega328P и использовать его без платы Arduino.
Есть ли у вас конденсатор на выводе 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