Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Недавно мне пришлось использовать 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:
Зайдите на сайт:
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:
На вашем ПК выполните поиск в каталоге Mightycore. Для меня в C: / user \self / AppData / Local / Arduino15 / packages / Mightycore / Harware / avr / 2.0.0 \boards.txt.
Шаг 3: Измените 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 и перезагрузить компьютер еще раз.
Спасибо всем интересным учебникам в сети, которые дали мне ключи к успеху в этом проекте.