Inhaltsverzeichnis:

So deaktivieren Sie JTAG vor dem Booten von Atmegas 40DIP mit Arduino IDE Mightycore - Gunook
So deaktivieren Sie JTAG vor dem Booten von Atmegas 40DIP mit Arduino IDE Mightycore - Gunook

Video: So deaktivieren Sie JTAG vor dem Booten von Atmegas 40DIP mit Arduino IDE Mightycore - Gunook

Video: So deaktivieren Sie JTAG vor dem Booten von Atmegas 40DIP mit Arduino IDE Mightycore - Gunook
Video: Zigarettenautomat knacken in 3 Schritten 2024, Juli
Anonim
So deaktivieren Sie JTAG vor dem Booten von Atmegas 40DIP mit Arduino IDE Mightycore
So deaktivieren Sie JTAG vor dem Booten von Atmegas 40DIP mit Arduino IDE Mightycore

Vor kurzem habe ich atmegas 40 DIP zur Steuerung industrieller Systeme verwendet, da diese Art von Mikrocontroller viele analoge oder digitale E/A liefert, sodass Sie keine Erweiterungen benötigen.

Die atmegas32/644p/1284p enthalten eine Möglichkeit, die von Ihnen erstellte Skizze herunterzuladen, die als "JTAG" bezeichnet wird (siehe

en.wikipedia.org/wiki/JTAG für weitere Erläuterungen). Wenn Sie Arduino IDE oder LDmicro (IEC 61-131) verwenden, werden die Skizzen über den SPI-Port heruntergeladen und die JTAG-Pins (4 Pins: PC2(D18) PC3(D19) PC4(D20) PC5(D21) sind für nichts verfügbar Sie müssen also JTAG in Ihrem Programm deaktivieren.

Mit arduino IDE müssen Sie nur 3 Codezeilen im Setup-Abschnitt wie folgt hinzufügen:

uint8_t tmp = 1<< JTD;

MCUCR = tmp;

MCUCR = tmp;

Die zweimalige MCUCR-Linienmethode.

Mit LDmicro habe ich nichts hinbekommen.

Um diese Probleme zu vermeiden, habe ich nach der MCUCR-Registermanipulation meine Atmegas mit Arduino IDE unter Mightycore gebootet. Eine Möglichkeit, die Sicherungen mit deaktiviertem JTAG zu brennen.

Schritt 1: Die Sicherungsberechnung Ihres 40DIP-Schaltkreises:

Die Sicherungsberechnung Ihres 40DIP-Schaltkreises
Die Sicherungsberechnung Ihres 40DIP-Schaltkreises
Die Sicherungsberechnung Ihres 40DIP-Schaltkreises
Die Sicherungsberechnung Ihres 40DIP-Schaltkreises
Die Sicherungsberechnung Ihres 40DIP-Schaltkreises
Die Sicherungsberechnung Ihres 40DIP-Schaltkreises

Gehen Sie auf die Website:

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

Wählen Sie die gute Schaltung (atmega1284p in meinem Beispiel, aber genauso mit anderen 40 DIP-Atmegas) und sehen Sie sich "U hfuse:w:0x99:m" an und deaktivieren Sie JTAGEN, so dass "U hfuse:w:0xD9:m" angezeigt wird. Behalte den Wert 0xD9 im Hinterkopf.

Schritt 2: Suchen Sie im Mightycore-Verzeichnis nach der Datei Boards.txt:

Suchen Sie im Mightycore-Verzeichnis nach der Datei Boards.txt
Suchen Sie im Mightycore-Verzeichnis nach der Datei Boards.txt
Suchen Sie im Mightycore-Verzeichnis nach der Datei Boards.txt
Suchen Sie im Mightycore-Verzeichnis nach der Datei Boards.txt

Durchsuchen Sie auf Ihrem PC das Mightycore-Verzeichnis. Für mich in C:\user\myself\AppData\Local\Arduino15\packages\Mightycore\Harware\avr\2.0.0\boards.txt.

Schritt 3: Ändern Sie die Boards.txt und Bootload mit Mightycore:

Ändern Sie die Boards.txt und Bootload mit Mightycore
Ändern Sie die Boards.txt und Bootload mit Mightycore

Sehen Sie sich den Taktfrequenzblock des atmega1284p mit Notepad++ an.

Ändern Sie jede hohe Sicherung wie „1284.menu.clock.16MHz_external.bootloader.high_fuses=0xd6“in „1284.menu.clock.16MHz_external.bootloader.high_fuses=0xd9“(0xd9 der vorherige Wert, den Sie sich merken mussten).

Dann müssen Sie nur noch der Bootloading-Methode folgen, die in angegeben ist

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

Das ist es.

Schritt 4: Fazit:

Jetzt verdienen Sie 4 I/O und müssen keine Registermanipulationen in Ihren Skizzen vornehmen. Sie können auch zurückgehen und JTAGEN aktivieren und noch einmal neu booten.

Vielen Dank an alle interessanten Tutorials im Web, die mir einige Schlüssel zum Erfolg bei diesem Projekt gegeben haben.

Empfohlen: