Cuprins:

Cum să dezactivați JTAG înainte de a încărca Atmegas 40DIP cu Arduino IDE Mightycore: 4 pași
Cum să dezactivați JTAG înainte de a încărca Atmegas 40DIP cu Arduino IDE Mightycore: 4 pași

Video: Cum să dezactivați JTAG înainte de a încărca Atmegas 40DIP cu Arduino IDE Mightycore: 4 pași

Video: Cum să dezactivați JTAG înainte de a încărca Atmegas 40DIP cu Arduino IDE Mightycore: 4 pași
Video: Cum să dezactivați permanent sau să activați Windows Defender în Windows 10 2024, Noiembrie
Anonim
Cum să dezactivați JTAG înainte de a încărca Atmegas 40DIP cu Arduino IDE Mightycore
Cum să dezactivați JTAG înainte de a încărca Atmegas 40DIP cu Arduino IDE Mightycore

Recent, am ajuns să folosesc atmegas 40 DIP pentru a controla sistemele industriale, deoarece acest tip de microcontroler furnizează multe I / O analogice sau digitale, astfel încât să nu aveți nevoie de expansoare.

Atmegas32 / 644p / 1284p includ o modalitate de a descărca schița pe care o creați, numită „JTAG” (consultați

en.wikipedia.org/wiki/JTAG pentru mai multe explicații). Dacă utilizați Arduino IDE sau LDmicro (IEC 61-131) schițele sunt descărcate de portul SPI și pinii JTAG (4 pini: PC2 (D18) PC3 (D19) PC4 (D20) PC5 (D21) nu sunt disponibile pentru nimic Deci, trebuie să dezactivați JTAG în programul dvs.

Cu arduino IDE trebuie doar să adăugați 3 linii de cod în secțiunea de configurare astfel:

uint8_t tmp = 1 << JTD;

MCUCR = tmp;

MCUCR = tmp;

Metoda de două ori a liniei MCUCR.

Cu LDmicro nu am reușit să fac nimic.

Pentru a evita aceste probleme, am încărcat după ce MCUCR a înregistrat manipularea atmegas-ului meu cu Arduino IDE sub Mightycore. O modalitate de a arde siguranțele cu un JTAG dezactivat.

Pasul 1: Calculul siguranței circuitului dvs. 40DIP:

Calculul siguranței circuitului dvs. 40DIP
Calculul siguranței circuitului dvs. 40DIP
Calculul siguranței circuitului dvs. 40DIP
Calculul siguranței circuitului dvs. 40DIP
Calculul siguranței circuitului dvs. 40DIP
Calculul siguranței circuitului dvs. 40DIP

Accesați site-ul web:

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

Alegeți circuitul bun (atmega1284p în exemplul meu, dar la fel cu alte 40 de atmega DIP) și uitați-vă la „U hfuse: w: 0x99: m” și debifați JTAGEN, astfel încât să dea „U hfuse: w: 0xD9: m”. Păstrați în minte valoarea 0xD9.

Pasul 2: Căutați fișierul Boards.txt în directorul Mightycore:

Căutați fișierul Boards.txt în directorul Mightycore
Căutați fișierul Boards.txt în directorul Mightycore
Căutați fișierul Boards.txt în directorul Mightycore
Căutați fișierul Boards.txt în directorul Mightycore

Pe computer, căutați directorul Mightycore. Pentru mine în C: / user / myself / AppData / Local / Arduino15 / packages / Mightycore / Harware / avr / 2.0.0 / boards.txt.

Pasul 3: Modificați Boards.txt și încărcați cu Mightycore:

Modificați Boards.txt și încărcați cu Mightycore
Modificați Boards.txt și încărcați cu Mightycore

Aruncați o privire la blocul de frecvență Ceas al atmega1284p cu Notepad ++.

Modificați fiecare siguranță mare, cum ar fi „1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd6” la „1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd9” (0xd9 valoarea anterioară pe care trebuia să o amintiți). Salvați-o.

Apoi, trebuie doar să urmați metoda de încărcare dată în

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

Asta e.

Pasul 4: Concluzie:

Acum câștigi 4 I / O și nu trebuie să faci nicio manipulare a registrului în schițele tale. De asemenea, puteți să vă întoarceți și să activați JTAGEN și să reîncărcați încă o dată.

Mulțumesc tuturor tutoriale insteresting de pe web, care mi-au dat câteva chei pentru a reuși în acest proiect.

Recomandat: