Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
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:
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:
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:
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.