Indholdsfortegnelse:

Sådan deaktiveres JTAG før opstart af Atmegas 40DIP med Arduino IDE Mightycore: 4 trin
Sådan deaktiveres JTAG før opstart af Atmegas 40DIP med Arduino IDE Mightycore: 4 trin

Video: Sådan deaktiveres JTAG før opstart af Atmegas 40DIP med Arduino IDE Mightycore: 4 trin

Video: Sådan deaktiveres JTAG før opstart af Atmegas 40DIP med Arduino IDE Mightycore: 4 trin
Video: Представлен TPM 2.0: расширение возможностей ИТ-специалистов с помощью аналитических данных о модулях доверенной платформы 2024, Juli
Anonim
Sådan deaktiveres JTAG før opstart af Atmegas 40DIP med Arduino IDE Mightycore
Sådan deaktiveres JTAG før opstart af Atmegas 40DIP med Arduino IDE Mightycore

For nylig fik jeg brugt atmegas 40 DIP til at styre industrisystemer, fordi denne form for mikrokontroller leverer mange analoge eller digitale I/O, så du ikke har brug for nogen udvidere.

Atmegas32/644p/1284p inkluderer en måde at downloade den skitse, du opretter, som kaldes "JTAG" (se

da.wikipedia.org/wiki/JTAG for flere forklaringer). Hvis du bruger Arduino IDE eller LDmicro (IEC 61-131) downloades skitserne af SPI-porten, og JTAG-benene (4 ben: PC2 (D18) PC3 (D19) PC4 (D20) PC5 (D21) er ikke tilgængelige for noget Så du skal deaktivere JTAG i dit program.

Med arduino IDE skal du bare tilføje 3 linjer kode i opsætningsafsnittet sådan:

uint8_t tmp = 1 << JTD;

MCUCR = tmp;

MCUCR = tmp;

Metoden MCUCR to gange.

Med LDmicro kunne jeg ikke klare noget.

For at undgå disse problemer startede jeg op efter MCUCR -registermanipulation af mine atmegas med Arduino IDE under Mightycore. En måde at brænde sikringerne på med en JTAG deaktiveret.

Trin 1: Sikringsberegningen af dit 40DIP -kredsløb:

Sikringsberegningen af dit 40DIP -kredsløb
Sikringsberegningen af dit 40DIP -kredsløb
Sikringsberegningen af dit 40DIP -kredsløb
Sikringsberegningen af dit 40DIP -kredsløb
Sikringsberegningen af dit 40DIP -kredsløb
Sikringsberegningen af dit 40DIP -kredsløb

Gå til webstedet:

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

Vælg det gode kredsløb (atmega1284p i mit eksempel, men på samme måde med andre 40 DIP -atmegas) og se på "U hfuse: w: 0x99: m", og fjern markeringen af JTAGEN, så det giver "U hfuse: w: 0xD9: m". Husk 0xD9 -værdien.

Trin 2: Leder du efter Boards.txt -filen i Mightycore -biblioteket:

Leder du efter Boards.txt -filen i Mightycore -biblioteket
Leder du efter Boards.txt -filen i Mightycore -biblioteket
Leder du efter Boards.txt -filen i Mightycore -biblioteket
Leder du efter Boards.txt -filen i Mightycore -biblioteket

Søg på Mightycore -biblioteket på din pc. For mig i C: / user / myself / AppData / Local / Arduino15 / packages / Mightycore / Harware / avr / 2.0.0 / boards.txt.

Trin 3: Rediger Boards.txt og Bootload med Mightycore:

Rediger Boards.txt og Bootload med Mightycore
Rediger Boards.txt og Bootload med Mightycore

Tag et kig på urfrekvensblokken på atmega1284p med Notepad ++.

Rediger hver høj sikring som “1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd6” til “1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd9” (0xd9 den tidligere værdi, du skulle huske). Gem den.

Så skal du bare følge den bootloading -metode, der er angivet

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

Det er det.

Trin 4: Konklusion:

Nu tjener du 4 I/O, og du behøver ikke foretage nogen registermanipulation i dine skitser. Du kan også gå tilbage og aktivere JTAGEN og genstarte en gang til.

Tak til alle insteresting tutorials på nettet, som gav mig nogle nøgler til at lykkes i dette projekt.

Anbefalede: