Obsah:

Jak deaktivovat JTAG před spuštěním systému Atmegas 40DIP pomocí Arduino IDE Mightycore: 4 kroky
Jak deaktivovat JTAG před spuštěním systému Atmegas 40DIP pomocí Arduino IDE Mightycore: 4 kroky

Video: Jak deaktivovat JTAG před spuštěním systému Atmegas 40DIP pomocí Arduino IDE Mightycore: 4 kroky

Video: Jak deaktivovat JTAG před spuštěním systému Atmegas 40DIP pomocí Arduino IDE Mightycore: 4 kroky
Video: Technology Stacks - Computer Science for Business Leaders 2016 2024, Listopad
Anonim
Jak deaktivovat JTAG před spuštěním systému Atmegas 40DIP pomocí Arduino IDE Mightycore
Jak deaktivovat JTAG před spuštěním systému Atmegas 40DIP pomocí Arduino IDE Mightycore

Nedávno jsem začal používat atmegas 40 DIP k řízení průmyslových systémů, protože tento druh mikrokontroléru dodává mnoho analogových nebo digitálních I/O, takže nepotřebujete žádné expandéry.

Atmegas32/644p/1284p obsahuje způsob stažení vytvořeného náčrtu, který se nazývá „JTAG“(viz.

en.wikipedia.org/wiki/JTAG pro další vysvětlení). Pokud používáte Arduino IDE nebo LDmicro (IEC 61-131), náčrty se stáhnou portem SPI a piny JTAG (4 piny: PC2 (D18) PC3 (D19) PC4 (D20) PC5 (D21) nejsou k dispozici pro nic. Takže musíte ve svém programu zakázat JTAG.

S arduino IDE stačí přidat 3 řádky kódu v sekci nastavení takto:

uint8_t tmp = 1 << JTD;

MCUCR = tmp;

MCUCR = tmp;

Metoda dvakrát MCUCR.

S LDmicro jsem nemohl nic dělat.

Abych se těmto problémům vyhnul, spustil jsem bootload po manipulaci s registrem MCUCR s mými atmegas s Arduino IDE pod Mightycore. Způsob vypálení pojistek s deaktivovaným JTAG.

Krok 1: Výpočet pojistky vašeho 40DIP obvodu:

Výpočet pojistky vašeho 40DIP obvodu
Výpočet pojistky vašeho 40DIP obvodu
Výpočet pojistky vašeho 40DIP obvodu
Výpočet pojistky vašeho 40DIP obvodu
Výpočet pojistky vašeho 40DIP obvodu
Výpočet pojistky vašeho 40DIP obvodu

Přejít na web:

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

Vyberte dobrý obvod (v mém příkladu atmega1284p, ale stejným způsobem jako u ostatních 40 DIP atmegas) a podívejte se na „U hfuse: w: 0x99: m“a zrušte zaškrtnutí políčka JTAGEN, takže se zobrazí „U hfuse: w: 0xD9: m“. Mějte na paměti hodnotu 0xD9.

Krok 2: Hledání souboru Boards.txt v adresáři Mightycore Directory:

Hledáme soubor Boards.txt v adresáři Mightycore
Hledáme soubor Boards.txt v adresáři Mightycore
Hledáme soubor Boards.txt v adresáři Mightycore
Hledáme soubor Boards.txt v adresáři Mightycore

Na počítači vyhledejte adresář Mightycore. Pro mě v C: / user / sám / AppData / Local / Arduino15 / packages / Mightycore / Harware / avr / 2.0.0 / boards.txt.

Krok 3: Upravte soubor Boards.txt a Bootload pomocí Mightycore:

Upravte Boards.txt a Bootload pomocí Mightycore
Upravte Boards.txt a Bootload pomocí Mightycore

Podívejte se na frekvenční blok hodin atmega1284p s Notepad ++.

Upravte každou vysokou pojistku jako „1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd6“na „1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd9“(0xd9 předchozí hodnota, kterou jste si museli pamatovat). Uložte ji.

Poté stačí dodržet metodu bootloadingu uvedenou v

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

A je to.

Krok 4: Závěr:

Nyní vyděláváte 4 I/O a ve svých skicách nemusíte provádět žádnou manipulaci s registrem. Můžete se také vrátit zpět, povolit JTAGEN a restartovat ještě jednou.

Děkuji všem instestesting tutoriálům na webu, které mi poskytly několik klíčů k úspěchu v tomto projektu.

Doporučuje: