Использование Arduino Uno в качестве ISP для программирования Mega 2560
Я пытаюсь использовать Arduino Uno в качестве IPS для программирования Arduino Mega 2560, используя эти соединения контактов (Uno->Mega):
сброс ведомого: 10: -> СБРОС на цели
MOSI: 11: -> 51
МИСО: 12: -> 50
СКК: 13: -> 52
Он отлично работает, когда я «записываю загрузчик» из Arduino IDE, и светодиод начинает мигать в нужном месте. Итак, я предполагаю, что мои контакты подключены правильно.
Однако, когда я открываю пример Blink и выполняю «Загрузить с помощью программатора» на вкладке «Скетч» после выбора «Arduino as ISP» в меню «Инструменты»> «Программист», он загружает код, но светодиод на Mega не мигает.
Боюсь, у меня проблема с шестнадцатеричным файлом Mega Bootloader, и я думаю, что он не настраивает контакт 13 в качестве контакта светодиода. Но в этом случае я не должен был видеть мигание светодиода после записи загрузчика.
Что я здесь упускаю? Я ценю вашу помощь. -Бекс
@baqx0r, 👍1
Обсуждение1 ответ
Найдите файл с именем «boards.txt», расположенный в каталоге установки Arduino. В моем случае это «arduino-1.6.5/hardware/arduino/avr/boards.txt». Откройте его в своем любимом текстовом редакторе и найдите раздел ATMEGA2560. (не в блокноте, он нарушает формат файла, мой выбор - блокнот++)
в файле boards.txt
- создайте резервную копию файла на случай, если вы его сломаете,
- найдите строку: mega.menu.cpu.atmega2560.bootloader.high_fuses=0xD8
- и измените его с помощью: mega.menu.cpu.atmega2560.bootloader.high_fuses=0xD9
Источник: http://soc.ninja/documentation/ программирование-atmega2560-с-arduino-uno-or-mega/#rating-74
- Как использовать SPI на Arduino?
- Как сбросить или отформатировать Arduino?
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Как получить уникальный идентификатор для всех плат Arduino?
- Как очистить буфер FIFO на MPU6050?
- Элегантное решение для обновления содержимого TFT-дисплея
- Считывание нескольких поворотных энкодеров
- Что выбрать между датчиками температуры и влажности: AM230x или DHT22?
Проблема может быть связана со сбросом. См. http://arduinoprosto.ru/q/19131/3879, @Milliways
Нет, я проверил соединения, и они выглядят нормально. Я установил контакт RESET как D13 в Arduino Uno и не думаю, что это неправильно. В примере ArduinoISP также определен контакт RESET как D13., @baqx0r
Когда вы «загружаете с помощью программатора», загрузчик целевой платы не задействован, и я полагаю, что при этом он фактически удаляется., @Chris Stratton