Innholdsfortegnelse:

Hvordan deaktivere JTAG før oppstart av Atmegas 40DIP med Arduino IDE Mightycore: 4 trinn
Hvordan deaktivere JTAG før oppstart av Atmegas 40DIP med Arduino IDE Mightycore: 4 trinn

Video: Hvordan deaktivere JTAG før oppstart av Atmegas 40DIP med Arduino IDE Mightycore: 4 trinn

Video: Hvordan deaktivere JTAG før oppstart av Atmegas 40DIP med Arduino IDE Mightycore: 4 trinn
Video: TPM 2.0 Unveiled: Empowering IT Pros with Trusted Platform Module Insights 2024, Juli
Anonim
Hvordan deaktivere JTAG før opplasting av Atmegas 40DIP med Arduino IDE Mightycore
Hvordan deaktivere JTAG før opplasting av Atmegas 40DIP med Arduino IDE Mightycore

Nylig fikk jeg bruke atmegas 40 DIP til å kontrollere industrisystemer fordi denne typen mikrokontroller leverer mange analoge eller digitale I/O, slik at du ikke trenger noen utvidere.

Atmegas32/644p/1284p inkluderer en måte å laste ned skissen du lager som kalles "JTAG" (se

en.wikipedia.org/wiki/JTAG for flere forklaringer). Hvis du bruker Arduino IDE eller LDmicro (IEC 61-131) lastes skissene ned av SPI-porten og JTAG-pinnene (4 pinner: PC2 (D18) PC3 (D19) PC4 (D20) PC5 (D21) er ikke tilgjengelige for noe Så du må deaktivere JTAG i programmet.

Med arduino IDE må du bare legge til 3 linjer med kode i oppsettdelen slik:

uint8_t tmp = 1 << JTD;

MCUCR = tmp;

MCUCR = tmp;

Den to ganger MCUCR -linjemetoden.

Med LDmicro klarte jeg ikke å gjøre noe.

For å unngå disse problemene, startet jeg opp etter MCUCR -registermanipulering av mine atmegas med Arduino IDE under Mightycore. En måte å brenne sikringene på med en JTAG deaktivert.

Trinn 1: Sikringsberegningen av din 40DIP -krets:

Sikringsberegningen av din 40DIP -krets
Sikringsberegningen av din 40DIP -krets
Sikringsberegningen av din 40DIP -krets
Sikringsberegningen av din 40DIP -krets
Sikringsberegningen av din 40DIP -krets
Sikringsberegningen av din 40DIP -krets

Gå til nettstedet:

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

Velg den gode kretsen (atmega1284p i mitt eksempel, men på samme måte med andre 40 DIP -atmegas) og se på "U hfuse: w: 0x99: m" og fjern merket for JTAGEN, så den gir "U hfuse: w: 0xD9: m". Vær oppmerksom på 0xD9 -verdien.

Trinn 2: Leter du etter Boards.txt -filen i Mightycore -katalogen:

Leter du etter Boards.txt -filen i Mightycore -katalogen
Leter du etter Boards.txt -filen i Mightycore -katalogen
Leter du etter Boards.txt -filen i Mightycore -katalogen
Leter du etter Boards.txt -filen i Mightycore -katalogen

Søk på Mightycore -katalogen på din PC. For meg i C: / user / myself / AppData / Local / Arduino15 / packages / Mightycore / Harware / avr / 2.0.0 / boards.txt.

Trinn 3: Endre Boards.txt og Bootload med Mightycore:

Endre Boards.txt og Bootload med Mightycore
Endre Boards.txt og Bootload med Mightycore

Ta en titt på klokkefrekvensblokken til atmega1284p med Notepad ++.

Endre hver høysikring som "1284.meny.clock.16MHz_external.bootloader.high_fuses = 0xd6" til "1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd9" (0xd9 den forrige verdien du måtte huske). Lagre den.

Da er det bare å følge oppstartsmetoden som er angitt

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

Det er det.

Trinn 4: Konklusjon:

Nå tjener du 4 I/O, og du trenger ikke å gjøre noen registermanipulasjon i skissene dine. Du kan også gå tilbake og aktivere JTAGEN og starte på nytt en gang til.

Takk til alle insteresting tutorials på nettet som ga meg noen nøkler for å lykkes i dette prosjektet.

Anbefalt: