Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
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:
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:
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:
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.