Turinys:

Kaip išjungti JTAG prieš įkeliant „Atmegas 40DIP“su „Arduino IDE Mightycore“: 4 žingsniai
Kaip išjungti JTAG prieš įkeliant „Atmegas 40DIP“su „Arduino IDE Mightycore“: 4 žingsniai

Video: Kaip išjungti JTAG prieš įkeliant „Atmegas 40DIP“su „Arduino IDE Mightycore“: 4 žingsniai

Video: Kaip išjungti JTAG prieš įkeliant „Atmegas 40DIP“su „Arduino IDE Mightycore“: 4 žingsniai
Video: Eshop RinUp - kaip išjungti ir įjungti skaidrių rodymą 2024, Liepa
Anonim
Kaip išjungti JTAG prieš įkeliant „Atmegas 40DIP“naudojant „Arduino IDE Mightycore“
Kaip išjungti JTAG prieš įkeliant „Atmegas 40DIP“naudojant „Arduino IDE Mightycore“

Neseniai turėjau naudoti „atmegas 40 DIP“pramoninėms sistemoms valdyti, nes toks mikrovaldiklis tiekia daugybę analoginių arba skaitmeninių įvesties/išvesties jungčių, todėl jums nereikia jokių plėtiklių.

Atmegas32/644p/1284p apima būdą, kaip atsisiųsti sukurtą eskizą, vadinamą „JTAG“(žr.

en.wikipedia.org/wiki/JTAG, jei reikia daugiau paaiškinimų). Jei naudojate „Arduino IDE“arba „LDmicro“(IEC 61-131), eskizai atsisiunčiami iš SPI prievado, o JTAG kaiščiai (4 kaiščiai: PC2 (D18) PC3 (D19) PC4 (D20) PC5 (D21) niekuo nepasiekiami Taigi jūs turite išjungti JTAG savo programoje.

Naudodami „arduino IDE“, sąrankos skiltyje turite pridėti 3 kodo eilutes:

uint8_t tmp = 1 << JTD;

MCUCR = tmp;

MCUCR = tmp;

Dvigubas MCUCR linijos metodas.

Su „LDmicro“negalėjau nieko padaryti.

Kad išvengčiau šių problemų, įkėliau po MCUCR registro manipuliavimo savo „atmegas“su „Arduino IDE“pagal „Mightycore“. Saugiklių sudeginimo būdas išjungus JTAG.

1 žingsnis: 40DIP grandinės saugiklių apskaičiavimas:

Jūsų 40DIP grandinės saugiklių skaičiavimas
Jūsų 40DIP grandinės saugiklių skaičiavimas
Jūsų 40DIP grandinės saugiklių skaičiavimas
Jūsų 40DIP grandinės saugiklių skaičiavimas
Jūsų 40DIP grandinės saugiklių skaičiavimas
Jūsų 40DIP grandinės saugiklių skaičiavimas

Eikite į svetainę:

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

Pasirinkite gerą grandinę (mano pavyzdyje atmega1284p, bet taip pat kaip ir su kitomis 40 DIP atmegas) ir pažvelkite į „U hfuse: w: 0x99: m“ir panaikinkite žymėjimą nuo JTAGEN, kad gautumėte „U hfuse: w: 0xD9: m“. Turėkite omenyje 0xD9 vertę.

2 veiksmas: ieškokite failo Boards.txt „Mightycore“kataloge:

Ieškote failo Boards.txt „Mightycore“kataloge
Ieškote failo Boards.txt „Mightycore“kataloge
Ieškote failo Boards.txt „Mightycore“kataloge
Ieškote failo Boards.txt „Mightycore“kataloge

Kompiuteryje ieškokite „Mightycore“katalogo. Man C: / user / yourself / AppData / Local / Arduino15 paketai / Mightycore / Harware / avr / 2.0.0 / boards.txt.

3 veiksmas: pakeiskite „Boards.txt“ir „Bootload“naudodami „Mightycore“:

Pakeiskite „Boards.txt“ir „Bootload“naudodami „Mightycore“
Pakeiskite „Boards.txt“ir „Bootload“naudodami „Mightycore“

Pažvelkite į „atmega1284p“laikrodžio dažnio bloką su „Notepad ++“.

Pakeiskite kiekvieną aukštą saugiklį, pvz., „1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd6“į „1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd9“(0xd9 ankstesnė vertė, kurią turėjote prisiminti). Išsaugokite.

Tada jums tereikia sekti nurodytą įkrovos metodą

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

Viskas.

4 žingsnis: Išvada:

Dabar jūs uždirbate 4 I/O ir jums nereikia atlikti jokių eskizų manipuliacijų registru. Taip pat galite grįžti atgal ir įjungti JTAGEN ir dar kartą įkelti iš naujo.

Dėkoju visoms įdomioms pamokoms internete, kurios suteikė man raktų, kaip sėkmingai įgyvendinti šį projektą.

Rekomenduojamas: