Sadržaj:

Kako onemogućiti JTAG prije podizanja sustava Atmegas 40DIP s Arduino IDE Mightycore: 4 koraka
Kako onemogućiti JTAG prije podizanja sustava Atmegas 40DIP s Arduino IDE Mightycore: 4 koraka

Video: Kako onemogućiti JTAG prije podizanja sustava Atmegas 40DIP s Arduino IDE Mightycore: 4 koraka

Video: Kako onemogućiti JTAG prije podizanja sustava Atmegas 40DIP s Arduino IDE Mightycore: 4 koraka
Video: Стеки технологий – информатика для руководителей бизнеса 2016 2024, Studeni
Anonim
Kako onemogućiti JTAG prije podizanja sustava Atmegas 40DIP s Arduino IDE Mightycore
Kako onemogućiti JTAG prije podizanja sustava Atmegas 40DIP s Arduino IDE Mightycore

Nedavno sam morao koristiti atmegas 40 DIP za upravljanje industrijskim sustavima jer ova vrsta mikrokontrolera opskrbljuje mnoge analogne ili digitalne I/O pa vam ne trebaju nikakvi proširivači.

Atmegas32/644p/1284p uključuje način preuzimanja skice koju stvorite koja se naziva "JTAG" (vidi

en.wikipedia.org/wiki/JTAG za dodatna objašnjenja). Ako koristite Arduino IDE ili LDmicro (IEC 61-131), skice se preuzimaju putem SPI porta, a pinovi JTAG (4 pina: PC2 (D18) PC3 (D19) PC4 (D20) PC5 (D21) nisu dostupni za bilo što. Dakle morate onemogućiti JTAG u svom programu.

S arduino IDE -om morate samo dodati 3 retka koda u odjeljak za postavljanje ovako:

uint8_t tmp = 1 << JTD;

MCUCR = tmp;

MCUCR = tmp;

Metoda dvostruke linije MCUCR.

S LDmicro -om nisam mogao ništa učiniti.

Da bih izbjegao ove probleme, učitao sam se nakon što je MCUCR registar manipulirao mojim atmegama s Arduino IDE -om pod Mightycore -om. Način spaljivanja osigurača s onemogućenim JTAG -om.

Korak 1: Proračun osigurača vašeg 40DIP kruga:

Proračun osigurača vašeg 40DIP kruga
Proračun osigurača vašeg 40DIP kruga
Proračun osigurača vašeg 40DIP kruga
Proračun osigurača vašeg 40DIP kruga
Proračun osigurača vašeg 40DIP kruga
Proračun osigurača vašeg 40DIP kruga

Idite na web stranicu:

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

Odaberite dobar krug (atmega1284p u mom primjeru, ali na isti način s ostalih 40 DIP atmega) i pogledajte "U hfuse: w: 0x99: m" i poništite oznaku JTAGEN tako da dobije "U hfuse: w: 0xD9: m". Imajte na umu vrijednost 0xD9.

Korak 2: Traženje datoteke Boards.txt u direktoriju Mightycore:

Tražite datoteku Boards.txt u direktoriju Mightycore
Tražite datoteku Boards.txt u direktoriju Mightycore
Tražite datoteku Boards.txt u direktoriju Mightycore
Tražite datoteku Boards.txt u direktoriju Mightycore

Na svom računalu pretražite direktorij Mightycore. Za mene u C: / user \self / AppData / Local / Arduino15 / packages / Mightycore / Harware / avr / 2.0.0 / Board.txt.

Korak 3: Izmijenite datoteku Boards.txt i Bootload pomoću programa Mightycore:

Izmijenite Boards.txt i Bootload s Mightycore
Izmijenite Boards.txt i Bootload s Mightycore

Pogledajte blok frekvencije sata atmega1284p s Notepadom ++.

Promijenite svaki visoki osigurač poput "1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd6" u "1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd9" (0xd9 prethodnu vrijednost koju ste morali zapamtiti). Spremite je.

Tada morate samo slijediti metodu podizanja sustava koja je navedena u

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

To je to.

Korak 4: Zaključak:

Sada zarađujete 4 I/O i ne morate raditi nikakve manipulacije registra u svojim skicama. Također se možete vratiti i omogućiti JTAGEN te ponovno pokrenuti sustav još jednom.

Hvala svim zanimljivim vodičima na webu koji su mi dali neke ključeve za uspjeh u ovom projektu.

Preporučeni: