INHOUDSOPGAWE:

Hoe om JTAG uit te skakel voordat u Atmegas 40DIP laai met Arduino IDE Mightycore: 4 stappe
Hoe om JTAG uit te skakel voordat u Atmegas 40DIP laai met Arduino IDE Mightycore: 4 stappe

Video: Hoe om JTAG uit te skakel voordat u Atmegas 40DIP laai met Arduino IDE Mightycore: 4 stappe

Video: Hoe om JTAG uit te skakel voordat u Atmegas 40DIP laai met Arduino IDE Mightycore: 4 stappe
Video: HOW TO UNLOCK YOUR OWN IPHONE WITHOUT CODE? - #WISTJEDAT 2024, November
Anonim
Hoe om JTAG uit te skakel voordat u Atmegas 40DIP laai met Arduino IDE Mightycore
Hoe om JTAG uit te skakel voordat u Atmegas 40DIP laai met Arduino IDE Mightycore

Onlangs moes ek atmegas 40 DIP gebruik om industriële stelsels te beheer, want hierdie soort mikrobeheerder bied baie analoge of digitale I/O, sodat u geen uitbreidings nodig het nie.

Die atmegas32/644p/1284p bevat 'n manier om die skets wat u skep, wat die 'JTAG' genoem word, af te laai (sien

en.wikipedia.org/wiki/JTAG vir meer verduidelikings). As u Arduino IDE of LDmicro (IEC 61-131) gebruik, word die sketse afgelaai deur die SPI-poort en die JTAG-penne (4 penne: PC2 (D18) PC3 (D19) PC4 (D20) PC5 (D21) is vir niks beskikbaar nie U moet dus JTAG in u program deaktiveer.

Met arduino IDE hoef u net 3 reëls kode by te voeg in die opsetgedeelte soos volg:

uint8_t tmp = 1 << JTD;

MCUCR = tmp;

MCUCR = tmp;

Die twee keer MCUCR lyn metode.

Met LDmicro kon ek niks regkry nie.

Om hierdie probleme te vermy, het ek na MCUCR -register -manipulasie van my atmegas met Arduino IDE onder Mightycore herlaai. 'N Manier om die lont te brand met 'n JTAG -uitskakeling.

Stap 1: Die lontberekening van u 40DIP -stroombaan:

Die lontberekening van u 40DIP -stroombaan
Die lontberekening van u 40DIP -stroombaan
Die lontberekening van u 40DIP -stroombaan
Die lontberekening van u 40DIP -stroombaan
Die lontberekening van u 40DIP -stroombaan
Die lontberekening van u 40DIP -stroombaan

Gaan na die webwerf:

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

Kies die goeie stroombaan (atmega1284p in my voorbeeld, maar op dieselfde manier met ander 40 DIP -atmegas) en kyk na die "U hfuse: w: 0x99: m" en ontmerk JTAGEN sodat dit "U hfuse: w: 0xD9: m" gee. Hou die 0xD9 -waarde in gedagte.

Stap 2: Soek die Boards.txt -lêer in die Mightycore -gids:

Op soek na die Boards.txt -lêer in die Mightycore -gids
Op soek na die Boards.txt -lêer in die Mightycore -gids
Op soek na die Boards.txt -lêer in die Mightycore -gids
Op soek na die Boards.txt -lêer in die Mightycore -gids

Soek die Mightycore -gids op u rekenaar. Vir my in C: / user / myself / AppData / Local / Arduino15 / packages / Mightycore / Harware / avr / 2.0.0 / boards.txt.

Stap 3: Verander die Boards.txt en Bootload met Mightycore:

Verander die Boards.txt en Bootload met Mightycore
Verander die Boards.txt en Bootload met Mightycore

Kyk na die klokfrekwensieblok van die atmega1284p met Notepad ++.

Verander elke hoë lont soos "1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd6" na "1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd9" (0xd9 die vorige waarde wat u moes onthou). Stoor dit.

Dan moet u net die selflaai -metode volg

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

Dis dit.

Stap 4: Gevolgtrekking:

Nou verdien u 4 I/O en hoef u geen registermanipulasie in u sketse te doen nie. U kan ook teruggaan en JTAGEN inskakel en nog een keer herlaai.

Dankie aan al die interessante tutoriale op die internet, wat my 'n paar sleutels gegee het om met hierdie projek te slaag.

Aanbeveel: