Оглавление:

Как отключить JTAG перед загрузкой Atmegas 40DIP с Arduino IDE Mightycore: 4 шага
Как отключить JTAG перед загрузкой Atmegas 40DIP с Arduino IDE Mightycore: 4 шага

Видео: Как отключить JTAG перед загрузкой Atmegas 40DIP с Arduino IDE Mightycore: 4 шага

Видео: Как отключить JTAG перед загрузкой Atmegas 40DIP с Arduino IDE Mightycore: 4 шага
Видео: Как прошивать микроконтроллеры AVR программатором USBASP 2024, Ноябрь
Anonim
Как отключить JTAG перед загрузкой Atmegas 40DIP с Arduino IDE Mightycore
Как отключить JTAG перед загрузкой Atmegas 40DIP с Arduino IDE Mightycore

Недавно мне пришлось использовать atmegas 40 DIP для управления промышленными системами, потому что этот тип микроконтроллера обеспечивает множество аналоговых или цифровых входов / выходов, поэтому вам не нужны никакие расширители.

Atmegas32 / 644p / 1284p включает способ загрузки созданного вами скетча, который называется «JTAG» (см.

en.wikipedia.org/wiki/JTAG для получения дополнительных объяснений). Если вы используете Arduino IDE или LDmicro (IEC 61-131), скетчи загружаются через порт SPI, а контакты JTAG (4 контакта: PC2 (D18), PC3 (D19), PC4 (D20), PC5 (D21), недоступны ни для чего) Итак, вы должны отключить JTAG в своей программе.

С Arduino IDE вам просто нужно добавить 3 строки кода в раздел настройки, например:

uint8_t tmp = 1 << JTD;

MCUCR = tmp;

MCUCR = tmp;

Метод двойной линии MCUCR.

С LDmicro я ничего не мог поделать.

Чтобы избежать этих проблем, я загрузил после манипуляции регистром MCUCR мои atmegas с помощью Arduino IDE под Mightycore. Способ сжечь предохранители с отключенным JTAG.

Шаг 1: Расчет предохранителя вашей цепи 40DIP:

Расчет предохранителя схемы 40DIP
Расчет предохранителя схемы 40DIP
Расчет предохранителя схемы 40DIP
Расчет предохранителя схемы 40DIP
Расчет предохранителя схемы 40DIP
Расчет предохранителя схемы 40DIP

Зайдите на сайт:

eleccelerator.com/fusecalc/fusecalc.php?chi…

Выберите хорошую схему (atmega1284p в моем примере, но точно так же с другими 40 DIP-атмегами) и посмотрите на «U hfuse: w: 0x99: m» и снимите флажок JTAGEN, чтобы получить «U hfuse: w: 0xD9: m». Не забывайте о значении 0xD9.

Шаг 2: Ищите файл Boards.txt в каталоге Mightycore:

Ищем файл Boards.txt в каталоге Mightycore
Ищем файл Boards.txt в каталоге Mightycore
Ищем файл Boards.txt в каталоге Mightycore
Ищем файл Boards.txt в каталоге Mightycore

На вашем ПК выполните поиск в каталоге Mightycore. Для меня в C: / user \self / AppData / Local / Arduino15 / packages / Mightycore / Harware / avr / 2.0.0 \boards.txt.

Шаг 3: Измените Boards.txt и Bootload с помощью Mightycore:

Измените Boards.txt и Bootload с помощью Mightycore
Измените Boards.txt и Bootload с помощью Mightycore

Взгляните на блок тактовой частоты atmega1284p с Notepad ++.

Измените каждый предохранитель, например «1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd6» на «1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd9» (0xd9 - предыдущее значение, которое вы должны были запомнить). Сохраните его.

Тогда вам просто нужно следовать методу загрузки, указанному в

www.instructables.com/id/Arduino-18x-Clone…

Вот и все.

Шаг 4: Заключение:

Теперь вы получаете 4 ввода-вывода, и вам не нужно выполнять какие-либо манипуляции с регистрами в ваших скетчах. Вы также можете вернуться и включить JTAGEN и перезагрузить компьютер еще раз.

Спасибо всем интересным учебникам в сети, которые дали мне ключи к успеху в этом проекте.

Рекомендуемые: