Съдържание:

Как да деактивирате 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 стъпки
Видео: Как да деактивирате Instagram акаунт -2024 Актуализиран | Деактивирайте акаунта в Instagram 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 atmegas) и погледнете „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 / себе / AppData / Local / Arduino15 / пакети / Mightycore / Harware / avr / 2.0.0 / Board.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 I/O и не е нужно да правите никакви манипулации в регистрите в скиците си. Можете също така да се върнете и да активирате JTAGEN и да рестартирате още веднъж.

Благодаря на всички интересни уроци в мрежата, които ми дадоха някои ключове за успех в този проект.

Препоръчано: