Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
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:
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:
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:
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.