Kazalo:

Kako onemogočiti JTAG pred zagonom Atmegasa 40DIP z Arduino IDE Mightycore: 4 koraki
Kako onemogočiti JTAG pred zagonom Atmegasa 40DIP z Arduino IDE Mightycore: 4 koraki

Video: Kako onemogočiti JTAG pred zagonom Atmegasa 40DIP z Arduino IDE Mightycore: 4 koraki

Video: Kako onemogočiti JTAG pred zagonom Atmegasa 40DIP z Arduino IDE Mightycore: 4 koraki
Video: Как отключить проверку подписи драйверов в Windows 10 2024, Junij
Anonim
Kako onemogočiti JTAG pred zagonom Atmegasa 40DIP z Arduino IDE Mightycore
Kako onemogočiti JTAG pred zagonom Atmegasa 40DIP z Arduino IDE Mightycore

Pred kratkim sem moral uporabiti atmegas 40 DIP za krmiljenje industrijskih sistemov, ker tovrstni mikrokrmilnik napaja veliko analognih ali digitalnih V/I, zato ne potrebujete nobenih razširjevalnikov.

Atmegas32/644p/1284p vključuje način za prenos skice, ki jo ustvarite, imenovano "JTAG" (glejte

en.wikipedia.org/wiki/JTAG za več pojasnil). Če uporabljate Arduino IDE ali LDmicro (IEC 61-131), skice prenesejo vrata SPI, zatiči JTAG (4 zatiči: PC2 (D18) PC3 (D19) PC4 (D20) PC5 (D21) pa niso na voljo za nič Zato morate v svojem programu onemogočiti JTAG.

Z arduino IDE morate samo dodati 3 vrstice kode v razdelek za nastavitev, kot je ta:

uint8_t tmp = 1 << JTD;

MCUCR = tmp;

MCUCR = tmp;

Metoda dvakratne linije MCUCR.

Z LDmicro mi ni uspelo narediti ničesar.

Da bi se izognili tem težavam, sem po tem, ko je MCUCR register manipuliral z mojimi atmegami z Arduino IDE pod Mightycore, znova zagnal. Način zažiganja varovalk z onemogočeno funkcijo JTAG.

1. korak: Izračun varovalk v vašem vezju 40DIP:

Izračun varovalk vašega vezja 40DIP
Izračun varovalk vašega vezja 40DIP
Izračun varovalk vašega vezja 40DIP
Izračun varovalk vašega vezja 40DIP
Izračun varovalk vašega vezja 40DIP
Izračun varovalk vašega vezja 40DIP

Pojdite na spletno stran:

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

Izberite dobro vezje (atmega1284p v mojem primeru, vendar enako z drugimi 40 DIP atmegami) in poglejte "U hfuse: w: 0x99: m" in počistite polje JTAGEN, tako da dobi "U hfuse: w: 0xD9: m". Ne pozabite na vrednost 0xD9.

2. korak: Iskanje datoteke Boards.txt v imeniku Mightycore:

Iščete datoteko Boards.txt v imeniku Mightycore
Iščete datoteko Boards.txt v imeniku Mightycore
Iščete datoteko Boards.txt v imeniku Mightycore
Iščete datoteko Boards.txt v imeniku Mightycore

V računalniku poiščite imenik Mightycore. Zame v C: / user \self / AppData / Local / Arduino15 / packages / Mightycore / Harware / avr / 2.0.0 / Board.txt.

3. korak: Spremenite datoteko Boards.txt in Bootload z Mightycore:

Spremenite datoteko Boards.txt in Bootload z Mightycore
Spremenite datoteko Boards.txt in Bootload z Mightycore

Oglejte si frekvenčni blok ure atmega1284p z Notepadom ++.

Vsako visoko varovalko spremenite, na primer »1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd6« na »1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd9« (0xd9 prejšnjo vrednost, ki ste jo morali zapomniti). Shranite jo.

Nato morate slediti metodi zagona, ki je navedena v

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

To je to.

4. korak: Zaključek:

Zdaj zaslužite 4 V/I in vam v skicah ni treba izvajati nobenih manipulacij v registru. Lahko se tudi vrnete in omogočite JTAGEN ter se znova zaženete.

Hvala vsem zanimivim vajam na spletu, ki so mi dali nekaj ključev za uspeh pri tem projektu.

Priporočena: