Obsah:

Ako vypnúť JTAG pred zavedením systému Atmegas 40DIP pomocou Arduino IDE Mightycore: 4 kroky
Ako vypnúť JTAG pred zavedením systému Atmegas 40DIP pomocou Arduino IDE Mightycore: 4 kroky

Video: Ako vypnúť JTAG pred zavedením systému Atmegas 40DIP pomocou Arduino IDE Mightycore: 4 kroky

Video: Ako vypnúť JTAG pred zavedením systému Atmegas 40DIP pomocou Arduino IDE Mightycore: 4 kroky
Video: Jak ovládat vztek a zůstat klidný? 2024, Júl
Anonim
Ako deaktivovať JTAG pred zavedením systému Atmegas 40DIP pomocou Arduino IDE Mightycore
Ako deaktivovať JTAG pred zavedením systému Atmegas 40DIP pomocou Arduino IDE Mightycore

Nedávno som začal používať atmegas 40 DIP na ovládanie priemyselných systémov, pretože tento druh mikrokontroléra dodáva mnoho analógových alebo digitálnych I/O, takže nepotrebujete žiadne expandéry.

Atmegas32/644p/1284p obsahuje spôsob sťahovania vytvoreného náčrtu, ktorý sa nazýva „JTAG“(pozri

en.wikipedia.org/wiki/JTAG, kde nájdete ďalšie vysvetlenia). Ak používate Arduino IDE alebo LDmicro (IEC 61-131), náčrty sa stiahnu cez port SPI a piny JTAG (4 piny: PC2 (D18) PC3 (D19) PC4 (D20) PC5 (D21) nie sú k dispozícii pre nič Takže musíte vo svojom programe deaktivovať JTAG.

S arduino IDE stačí pridať 3 riadky kódu do sekcie nastavenia takto:

uint8_t tmp = 1 << JTD;

MCUCR = tmp;

MCUCR = tmp;

Metóda dvakrát MCUCR.

S LDmicro som nemohol nič robiť.

Aby sa predišlo týmto problémom, zaviedol som po manipulácii registra MCUCR s mojimi atmegas s Arduino IDE pod Mightycore. Spôsob vypálenia poistiek s vypnutým JTAG.

Krok 1: Výpočet poistky vášho obvodu 40DIP:

Výpočet poistky vášho obvodu 40DIP
Výpočet poistky vášho obvodu 40DIP
Výpočet poistky vášho obvodu 40DIP
Výpočet poistky vášho obvodu 40DIP
Výpočet poistky vášho obvodu 40DIP
Výpočet poistky vášho obvodu 40DIP

Prejdite na webovú stránku:

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

Vyberte dobrý obvod (v mojom prípade atmega1284p, ale rovnakým spôsobom ako pre ostatných 40 DIP atmegas) a pozrite sa na „U hfuse: w: 0x99: m“a zrušte začiarknutie políčka JTAGEN, čím získate „U hfuse: w: 0xD9: m“. Majte na pamäti hodnotu 0xD9.

Krok 2: Hľadanie súboru Boards.txt v adresári Mightycore:

Hľadám súbor Boards.txt v adresári Mightycore
Hľadám súbor Boards.txt v adresári Mightycore
Hľadám súbor Boards.txt v adresári Mightycore
Hľadám súbor Boards.txt v adresári Mightycore

Na počítači vyhľadajte adresár Mightycore. Pre mňa v C: / užívateľ / sám / AppData / Local / Arduino15 / packages / Mightycore / Harware / avr / 2.0.0 / boards.txt.

Krok 3: Upravte súbor Boards.txt a bootovanie pomocou programu Mightycore:

Upravte súbor Boards.txt a bootload pomocou programu Mightycore
Upravte súbor Boards.txt a bootload pomocou programu Mightycore

Pozrite sa na frekvenčný blok hodín atmega1284p s programom Notepad ++.

Upravte každú vysokú poistku ako „1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd6“na „1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd9“(0xd9 predchádzajúcu hodnotu, ktorú ste si museli pamätať). Uložte ju.

Potom stačí postupovať podľa metódy zavádzania uvedenej v

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

To je všetko.

Krok 4: Záver:

Teraz získate 4 I/O a nemusíte vo svojich náčrtoch vykonávať žiadnu manipuláciu s registrom. Môžete sa tiež vrátiť späť a povoliť JTAGEN a reštartovať počítač ešte raz.

Ďakujem všetkým insteresting návodom na webe, ktoré mi poskytli niekoľko kľúčov k úspechu v tomto projekte.

Odporúča: