Wie Sicherungs Bit AVR ATMEGA328P ändern - 8bit Mikrocontroller mit Arduino
7 Schritt:Schritt 1: Materialien, die Sie gehen zu müssen, Schritt 2: Grundlegendes Fuse Bits aus Datenblatt Schritt 3: Berechnung der fuse bits Schritt 4: die Schaltung auf einem Steckbrett Set Schritt 5: Hochladen Arduino als ISP Skizze Schritt 6: Ändern Sie die Sicherungen mit avrdude Schritt 7: das blink LED Skizze hochladen
In diesem instructable erfahren Sie, wie Sie die Sicherung Bits ATMEGA328P Mikrocontroller ändern. Ich bin mit Arduino Mega als Programmierer zu ATMEGA328P-PU auf Steckbrett zu programmieren. Es kommt mit einem Standard-1 MHz Interne kalibriert Oszillatorfrequenz. Ich ändert die Sicherungen zur Arbeit mit 8 MHz Interner Oszillator kalibriert.
Fuse Bits spielen eine entscheidende Rolle in der Arbeits eines Mikrocontrollers. Diese sind wie Schalter, die beiden Werte 0 haben (programmiert) und 1 (nicht programmiert). Jetzt gibt es grundsätzlich zwei Arten von Sicherungs Bytes: niedrige Sicherung Byte (oder lfuse) und hohe Sicherungs byte (oder hfuse). In einigen Mikrocontrollern gibt es eine zusätzliche Sicherung Byte genannt Erweiterte Sicherung byte (oder eFUSE). Programmierung Fuse Bits sind wie Tuning Ihrer Mikrocontroller. Ich werde nicht in Details viel aboutthese Dinge. Wenn Sie neu programmieren, um den Mikrocontroller sind, sollten Sie diese in ein wenig mehr Details zu erfahren. Sie können viele Informationen im Internet zu diesem Thema zu finden.
Achtung: Vor dem Ändern die Sicherungen zu beachten, dass die Programmierung falsche Sicherung Bits können zu einer dauerhaften Schädigung des Mikrocontroller-Chip führen. Wenn Sie durch dieses instructable gehen und folgen Sie Schritt für Schritt richtig, dann werden Sie nicht mit keine Probleme.
Schritt 1: Materialien, die Sie gehen zu müssen,
-
Alle 9 Artikel anzeigenHardware:
- Ein Microcontroller, die Sie gehen, um die Sicherungen zu ändern. (Kann jedes AVR ATmega-8bit Mikrocontroller sein.) 1 x Steckbrett. Wenige Breadboard-Jumper. 1 x-LED 1 x 220 Ohm Widerstand 1 x 100 nF Kondensator USB A zu B-Kabel und ein PC mit freier USB-Anschluss (nur mit Windows-Betriebssystem. Leider kann ich Ihnen nicht helfen, wenn Sie Mac oder Linux sind)
Ich bin mit Arduino Mega als Programmierer. Sie brauchen nicht die 100nF Kondensator, wenn Sie andere Programmierer sind.Software:
- Arduino IDE. ( herunterladen Arduino IDE hier ) avrdude Download Full Datenblatt des Mikrocontrollers, die Sie gehen, um Sicherungen zu ändern.
Wenn Sie Arduino IDE installiert haben, dann haben Sie bereits haben. Sie können überprüfen, ob Sie mit avrdude installiert ist oder nicht. Gehen Sie einfach auf Aufforderung und geben avrdude und drücken Sie "Enter" zu befehlen. Siehe die in diesem Schritt angehängten Bild. Es gibt ein anderes Bild, das die Nachricht, die Sie erhalten, wenn Sie nicht über avrdude installiert oder es funktioniert nicht zeigen. Nun, wenn Sie haben keine avrdude installiert gibt es nichts zu befürchten. Hier ist ein Link zu WinAVR herunterladen .
Schritt 2: Grundlegendes Fuse Bits aus Datenblatt
-
Die AVR-Mikrocontroller ATmegaXXX kommt mit einem Standard-1 MHz internen Oszillator. In diesem instructable werde ich Ihnen zeigen, wie Sie die Sicherungen der ATMEGA328P-PU ändern, um auf 8 MHz internen Oszillator zu arbeiten. Die Lage des spezifischen Fuse Bits unterscheidet zwischen allen drei Sicherungs Bytes (niedrig, hoch und verlängert Sicherungen), je nach AVR-Chip verwendet. So sicher sein, um sie vor dem Absetzen zu schreiben.Low Byte Sicherungen
Die Low-Byte Sicherung befasst sich mit der Taktquelle, wie schnell der Chip läuft, und wie lange es beim Start wartet. 1 Byte entspricht 8 Bit. So gibt es 8 Bits in dem niedrigen Byte-Sicherung. Diese 8 Bits werden hier erklärt:
Bit-7: CKDIV8: Wenn gesetzt teilt die Taktrate von 8 Bit-6: CKOUT: Bei der Einstellung Taktimpulse ausgegeben am PB0 (Pin 14) Bit-5: SUT1: Startzeitvorwahl Bit-4: SUT0: Startzeitvorwahl Bit-3: CKSEL3: Stellen Sie die Taktquelle Bit-2: CKSEL2: Stellen Sie die Taktquelle Bit-1: CKSEL1: Stellen Sie die Taktquelle Bit-0: CKSEL0: Stellen Sie die Taktquelle
ATMEGA Chips können mit unterschiedlichen Geschwindigkeiten oder Frequenzen betrieben werden, und die Frequenz wird von der Taktquelle, die verwendet wird, bestimmt. Die Taktquelle wird mithilfe des CKSEL3 ... 0 Sicherung Bits gesetzt. Um mit dem internen Taktquelle müssen wir CLSEL3 = 0 CKSEL2 = 0 CKSEL1 = 1 und CKSEL0 = 0. Sie müssen diesen Wert im Datenblatt des Mikrocontrollers zu finden arbeiten. Im Datenblatt gibt es ein Kapitel "Systemtaktrate und Taktoptionen". Es gibt ein Unterthema in diesem Kapitel "Clock Sources" .Es Sie eine Tabelle, in der der Wert von CKSEL3 ... 0 kann Quelle gibt. Ich habe einen Screenshot des Datenblattes befestigt.
Für die Startzeit gibt es eine weitere Unterthema "Kalibrierte internen RC Oscillator". Dort finden Sie eine andere Tabelle für die SUT0 ... 1 finden. Ich werde langsam steigenden Energieoption zu verwenden. So SUT1 = 1 und SUT0 = 0.
CKOUT und CKDIV8: Jetzt sind wir mit zwei weiteren Bits zu setzen gelassen. Ich brauche keine Taktausgang auf PB0. Also werde ich diese bis 1 (nicht programmierte) eingestellt.
Die maximale Frequenz des internen RC-Oszillator für ATMEGA328P-PU ist 8 MHz. Dies wird erreicht, wenn CKDIV8 1 ist (oder programmierten). Wenn Sie dies auf 0 gesetzt (oder programmiert) dann Ihren Chip wird bei 1 MHz Zwerg. Also, um den Chip mit 8 MHz laufen wir CKDIV8 = 1 gesetzt.
Jetzt kombiniert alle 8 Bit, ist unser erforderlichen niedrigen Sicherung Byte 11.100.010.High-Byte Sicherungen
Das hohe Byte Sicherung wird nachstehend erläutert. Sie können einfach überspringen Sie diesen Teil. Hier habe ich nur erklären die hohen fuse bits. Wir brauchen nicht um den hohen Fuse Bits, um die Taktquelle und Betriebsfrequenz zu ändern. Aber wenn Ihr daran interessiert, über die High-Byte Sicherungen kennen, sind dann durch den folgenden Absatz zu gehen.
Es gibt 8 Bits im High-Byte Sicherung auch. Dies sind:
Bit-7: RSTDISBL: Externer Reset deaktivieren Bit-6: Dwen: Debug Draht aktivieren Bit-5: SPIEN: Aktivieren seriellen Programmierung und Daten Download Bit-4: WDTON: Watchdog-Timer immer im Bit-3: EESAVE: Preserve EEPROM-Speicher durch Chip-Lösch Bit-2: BOOTSZ1: Einstellung der Bootloader Speichergröße Bit-1: BOOTSZ0: Einstellung der Bootloader momory Größe Bit-0: BOOTRST: Wählen Sie den Reset-Vektor
Jetzt werde ich jedes Bit zu erklären:
RSTDISBL (Externer Reset deaktivieren)
PC6 der Atmega328 ist ein Reset-Pin, halten sie niedrig (Masse) und der Chip zurückgesetzt. Dies ist, wie der Schalter auf der Arduino funktioniert. Wenn Sie die Reset-Taste drücken, verbindet PC6 zu Boden und setzt den Chip. PC6 kann auch als eine reguläre IO Stift verwendet werden, aber dies bedeutet, Deaktivieren des Rücksetzfunktion, die in Windungen bedeutet den Chip nicht mehr inline programmiert werden (in line-Programmierung erfordert ein Reset). Dies ist eine der Optionen, ist es besser, nicht zu ändern. Ich kann mir vorstellen RSTDISBL implementiert aus Sicherheitsgründen zu stoppen der Chip neu programmiert oder die Firmware heruntergeladen wird. Wenn RSTDISBL wird die Startzeit programmiert (SUT1 SUT0) an 14CK + 4.1ms erhöht, um den Programmiermodus eingegeben werden gewährleisten.
Standardmäßig ist die Einstellung RSTDISBL = 1 (nicht programmiert).
Dwen (debug aktivieren WIRE)
ATmega-Chips in das Debugging-Tools, die standardmäßig deaktiviert sind gebaut. Die Dwen Sicherung verwendet wird, um sie einzuschalten. Dwen verwendet die gleiche Pin als Reset (PC6) und wenn Dwen aktiviert ist (und die Lock-Bits nicht gesetzt sind) die Reset-Pin zu einem Kommunikationsstift und normalen Reset nicht mehr funktioniert. Zum Beispiel, wenn Sie Dwen auf einem Arduino ermöglichen die Reset-Taste funktioniert nicht mehr. Um die On-Chip-Debugging zu verwenden, müssen Sie ein kompatibles Programmiergerät wie dem AVR Dragon. Da ich nicht über einen geeigneten Programmierer Ich habe noch nie verwendet, und weiß nicht, wie das Debugging zu verwenden. Wenn Sie möchten mehr wissen, dann gibt es einen guten Artikel die Ihnen den Start.
Dies ist eine der Sicherungen sollten Sie Vorsicht bei zu nehmen. Wenn Sie Dwen ermöglichen und auch ermöglichen, die Lock-Bits können Sie den Chip in der üblichen Weise nicht mehr zu programmieren.
Wenn Sie gerade erst anfangen, dann lassen Dwen bis 1 (nicht programmiert). Schließlich wird zurückgesetzt sehr nützlich.
SPIEN (Seriell-Programmierung und Daten Herunterladen)
ATmega-Chips können mit seriellen Programmierung programmiert werden. Serielle Programmierung für an Bord der Programmierung über eine serielle Protokoll über einen ISP (inline-Serienprogrammierer) oder UART (Universal Asynchronous Receiver / Transmitter) verwendet. Das normale Verfahren zum Programmieren ATMEGA Chips über die SPI-Schnittstelle mit dem SCK (Takt), MOSI (Eingang) und Miso (Ausgang) Stifte. Wenn Sie die Serienprogrammierung zu deaktivieren, dann können Sie nicht mehr verwenden, die SPI, um den Chip zu programmieren. Sie können auch die Serienprogrammierung deaktivieren über die Lock-Bits. Für den normalen Gebrauch und Entwicklung lassen SPIEN aktiviert ist, jedoch, wenn Sie ein Gerät, das Finale ist und keine weitere Programmierung erforderlich ist, dann können Sie diese Option nutzen, um Menschen den Zugriff auf den Chip über die serielle Kommunikation zu stoppen.
Die Standardeinstellung ist SPIEN aktiviert, SPIEN = 0 (programmiert).
WDTON (Watchdog Timer Always On)
Der Watchdog ist im Grunde ein Timer, bewirken, dass der Chip zurückgesetzt, wenn er nicht ein OK-Signal zu bestimmten Zeitpunkten erhält. Dies kann nützlich sein, wenn Sie instabilen Code haben, oder ein System, das nicht erlaubt ist, um dauerhaft sperren werden. Wenn der Watchdog-Timer aktiviert ist, sollte eine Skizze Absturz oder Einfrieren wird der Timer Zeitüberschreitung und setzen Sie die Chip was dem Drücken der Reset-Taste ein ein Lauf Arduino einen Neustart ähnlich. Der Watchdog Timer kann in Software aktiviert werden, so dass die Sicherungseinstellungen nicht wirklich brauchen, um verwendet werden. Standardmäßig ist der Watchdog-Timer off, WDTON = 1 (nicht programmiert).
EESAVE (Preserve EEPROM-Speicher)
Wenn der ATmega Chip ist so programmiert, wird der Speicher gelöscht, kurz bevor der neue Code hochgeladen. Unter normalen Umständen wird der EEPROM-Speicher wird auch gelöscht, wie im Programmspeicher. Die EESAVE Sicherung kann verwendet werden, um den Chip zu sagen nicht, das EEPROM löschen. Dies ist nützlich, wenn Sie Code zu aktualisieren, sondern halten Benutzereinstellungen, die im EEPROM gespeichert sind.
Ich habe in die Gewohnheit der Einstellung dieser Sicherung bekam; EEPROM hat eine begrenzte Lebenszyklus so desto weniger müssen Sie es so besser zu schreiben. Löschen des EEPROM hat keine Auswirkungen auf den Upload neuer Code und den Großteil meiner Projekte verwenden nicht die EEPROM-Speicher so nicht Löschen es ist nicht ein Problem. Die dropController speichert Einstellungen und legen Sie mal in EEPROM und so machte ich mich EESAVE, um die Daten zu erhalten, wenn ich hochladen neue Versionen des Codes.
Der Standardwert ist EESAVE = 1 (nicht programmierte) und EEPROM-Speicher wird während der Chip-Löschzyklus gelöscht, wenn die Programmierung.
BOOTSZ1 & BOOTSZ0 (Bootloader Size)
Die ATmega-Chips haben die Möglichkeit, einen Bootloader verwenden, das ist ein kleines Programm, das, wenn der Chip anfing läuft oder wenn er zurückgesetzt wird. Bootloader werden in der Regel verwendet, um das Gerät zu initialisieren und prüfen Sie für die externe Kommunikation. Das Arduino verwendet einen Bootloader an einen angeschlossenen Computer zu sprechen, um zu sehen, wenn es ein neues Programm, die hochgeladen werden. Dies ist der Grund der Arduino zurücksetzt, wenn Sie neuen Code laden, läuft das Reset der Bootloader prüft der Bootloader, um zu sehen, wenn Sie neuen Code.
Der Bootloader wird im Programmspeicher gespeichert ist, kann der gleiche Speicher für die Benutzeranwendung und da der Bootloader verwendet verschiedenen Größen können Sie den ATmega Chip, wie viel Platz reservieren zu erzählen. Die regelmäßige (älteren) Arduino Bootloader ist 2 Kilobyte (KB), aber die neuere Optiboot (auf der UNO eingesetzt) ist nur 0,5 kb (512 Bytes). Bei Verwendung Optiboot und Einstellung der Bootloader-Größe entsprechend Sie eine zusätzliche 1,5 kb für Ihr eigenes Programm zu gewinnen. 1,5 kb kann viel Platz sein, aus der Programmlauf Raum ist, warum ich begann Programmierung stand alone ATmega-Chips in den ersten Platz. Der Code für die Drop-Controller wurde zu groß für den regelmäßigen Arduino so entfernte ich den Bootloader.
Wenn Sie einen Bootloader dann BOOTSZ ist in Verbindung mit BOOTRST verwendet werden. BOOTRST teilt dem ATmega Chip der Speicheradresse, wo der Bootloader gestartet. Wenn BOOTRST nicht gesetzt ist wird der Benutzer-Anwendung kann den gesamten Speicher unabhängig von den BOOTSZ Einstellungen zu verwenden.
Der Standardwert für neue Chips ist BOOTSZ1 = 0 (programmiert) und BOOTSZ0 = 0 (programmiert), dh sie maximale Speicher für einen Bootloader reserviert haben.
BOOTRST (Wählen Sie Reset-Vektor)
ATmega-Chips können einen Bootloader verwenden, ist dies ein kleines Programm, wenn der Chip zurückgesetzt läuft. Wenn Sie einen Bootloader dann haben Sie brauchen, um die MCU zu informieren und diese unter Verwendung der BOOTRST Sicherung Einstellung getan. Wenn die BOOTRST Sicherung eingestellt ist, On-Reset wird das Gerät in die Bootloader-Adresse zu springen. Falls nicht gesetzt, wird der Chip auf die Programmstartadresse bei 0x0000 springen.
Der Standardwert ist BOOTRST = 1 (nicht programmiert).
Wenn BOOTRST nicht gesetzt ist (kein Bootloader), dann die BOOTSZ Sicherungen nicht unabhängig von dem Wert verwendet.
WARNUNG: Der RSTDISBL haben SPIEN und Dwen Sicherungen das Potenzial, die Ziegel ATmega Chip, oder zumindest der Chip sehr sehr schwierig, wieder verwenden. Für den allgemeinen Gebrauch, und vor allem, wenn Sie gerade erst anfangen, mit der Programmierung stand-alone-Chips, sollten Sie diese Sicherungseinstellungen nicht ändern. Sie sollten auch doppelte Kontrolle, die Sie nicht ändern, wenn Sie sie neu schreiben die anderen Sicherungseinstellungen.
Also unsere unsere erforderliche hohe Schmelz Byte ist 11.011.011.Erweiterte Fuse Bits
Die erweiterten Sicherungen werden nur verwendet, um die Brown-out-Erfassungspegel (BOD) festgelegt. Die ATmega-Chips können instabil oder unzuverlässig werden, wenn sie mit unzureichender Spannung verwendet. Zum Beispiel kann die Atmega328 / 328P sicher bei 16 MHz läuft, wenn es mindestens 4 V zu. Alles unter 4V bedeutet, der Chip wird wahrscheinlich schlecht benehmen. Dies würde ein Problem sein, wenn das Gerät mit Sensoren wurden verwendet, um Messungen durchzuführen oder auf genauen Timings verlassen.
Um den Chip zu gewährleisten eine ausreichende Eingangsspannung einen minimalen Spannungspegel eingestellt werden. Wenn die Spannung unter diesen Wert fällt, wird die Chip setzt sich selbst zurück. Dies nennt man die Brown-out-Detektor-Ebene. Grundsätzlich, wenn die zugeführte Spannung unter der BOD der Chip hält zurückgesetzt gering.
Ich bin nicht durch die einzelnen Bits des erweiterten Sicherung Byte gehen. Standardmäßig werden alle Bits in diesem Byte wird als 1 (nicht programmierte) eingestellt.
Und hier ist die erweiterte Sicherung Byte ist 11111111.
Schritt 3: Berechnung der fuse bits
Okay, jetzt sind wir mit den Sicherungen vertraut und bereits die Fuse Bits berechnet.
Low-Byte Sicherung (lfuse): 0b11100010
High-Byte Sicherung (hfuse): 0b11011001
Erweiterte Sicherung (eFUSE): 0b11111111
Jetzt können Sie einfach schreiben Sie diese in binäre oder Sie können diese in hexadezimal konvertieren. Ich werde diese an hex konvertieren, weil ich in der Regel Fehler in der Eingabe zum 0 und 1 wiederholt jeder wissen Sie, wie viel wichtiger sind. Wenn Sie falsch Fusebits Sie dann dürfen Sie wahrscheinlich Ziegel den Chip.
So, hier ist der Hex-Wert:
lfuse: 0xE2
hfuse: 0xD9
eFUSE: 0xFF
Wenn Sie Probleme bei der Berechnung der binären zu verhexen dann hier ist ein Taschenrechner.
Wenn Sie feststellen, dass die Berechnung Sicherung aus dem Datenblatt ist schwierig dann ist hier eine Sicherungsrechner . Eine Änderung Sicherung keine Kenntnisse in diesem Thema wird nicht empfohlen.
Schritt 4: die Schaltung auf einem Steckbrett Set
-
In diesem instructable werde ich mit Arduino Mega als ISP-Programmer. Schließen Sie die Stifte, wie gezeigt
Name ----------- Arduino Mega Pin ------------------- ATMEGA328P Pin
MISO -------------- Digitale pin - 50 ------------------------------- 18
MOSI -------------- Digitale pin - 51 ------------------------------- 17
SCK --------------- Digitale pin - 52 ------------------------------ -19
Slave Select ----- Digitale pin - 53 -------------------------------- 1
-------------------- VCC 5 V --------------------------- ------------ 7 & 20
GND GND ------------------- ----------------------------- --------- 8 & 22
Schließen Sie die Anode der LED an Pin 14 von ATMEGA328P (digital Pin 8) und Kathode an einen 220 Ohm-Widerstand. Erden Sie das andere Ende des Widerstands.
Hinweis: Die Kondensator zwischen 5V und RESET in diesem Schritt anschließen. Nach dem Hochladen der arduinoISP Skizze werden wir den Kondensator zu verbinden.
Schritt 5: Hochladen Arduino als ISP Skizze
-
Nachdem Sie die Verbindungen auf dem Steckbrett doppelte Überprüfung, dass Sie die Anschlüsse richtig gemacht haben, getan haben. Schließen dann Arduino Mega mit dem PC über das USB-Kabel. Öffnen Sie Arduino IDE. In den Beispielen> ArduinoISP. Klicken Sie nun auf Werkzeuge> Board> Arduino Mega und Mega 2560. Auch hier klicken Sie auf Werkzeuge> Prozessor> ATmega2560 (Mega 2560). Einmal klicken Sie erneut auf Werkzeuge> Port> COMX (Für mich ist COM3).
Jetzt übersetzen Sie die Skizze und laden Sie sie in die Platine.
Wenn der Upload abgeschlossen schließen Sie einen 100 nF Kondensator zwischen dem 5V-Pin und Reset-Pin des Arduino Mega. Sie erhalten Fehlermeldung, wenn Sie das nicht tun.
Schritt 6: Ändern Sie die Sicherungen mit avrdude
-
Gehen Sie zu Ihrem Fenster der Eingabeaufforderung und geben Sie "avrdude" und sehen, ob Ihre avrdude funktioniert.
Nun geben Sie den Befehl "avrdude -c arduino -p m328p -P COM3 -b 19200 -v", um Details über den Microcontroller zu sehen.
Okay, ich will nur das Low-Byte Sicherung ändern. Weil wir bereits die Sicherungen berechnet und an die CPU-Frequenz zu ändern nur das Low-Byte-Sicherung Sicherung geändert werden muss. High-Byte Sicherung und erweiterte Sicherung doesnot befasst sich mit der Oszillatorfrequenz und Taktquelle.
Geben Sie den Befehl "avrdude -c arduino -p m328p -P COM3 -b 19200 -U lfuse: w: 0xE2: m", um die niedrige Sicherung Byte zu schreiben.
Auch hier geben Sie den Befehl "avrdude -c arduino -p m328p -P COM3 -b 19200 -v" und prüfen Sie, ob die Sicherungen erfolgreich geändert.
Schritt 7: das blink LED Skizze hochladen
-
Alle 7 Artikel anzeigen
Sie können die LED blink Skizze herunterladen.
Vor dem Hochladen die Skizze, müssen wir ein paar Änderungen vornehmen. Jetzt haben wir nicht ein Brett, das mit 8 MHz interner Oszillator arbeitet. Die Standard-Arduino UNO verwendet die ATmega328P Mikrocontroller aber bei 16 MHz externen Quarzoszillator arbeitet. Also müssen wir einen neuen Vorstand zu dem Menü Tools hinzufügen.
Gehen Sie zu C: \ Programme \ Arduino \ Hardware \ arduino \ avr \ Varianten
Fügen Sie einen neuen Ordner und nennen es als "ATMEGA328P".
Gehen Sie nun in C: \ Programme \ Arduino \ Hardware \ arduino \ avr \ \ Varianten Standard und kopieren Sie die Datei "pins_arduino" und fügen Sie ihn in die Position C: \ Programme \ Arduino \ Hardware \ arduino \ avr \ Varianten \ ATMEGA328P
Zu dem Ort C: \ Programme \ Arduino \ Hardware \ arduino \ avr. Es ist eine Textdatei mit dem Namen "boards.txt". kopieren Sie diese Datei irgendwo anders und öffnen Sie sie zu bearbeiten.
Scrollen Sie bis zum Ende der Codes und fügen Sie diese Zeilen:################################################## ############ szmtag ATmega328p-8.name = ATMEGA328P-Internal 8Mhz ATMEGA328P-8.upload.tool = avrdude ATMEGA328P-8.build.mcu = ATmega328P ATMEGA328P-8.build.f_cpu = 8000000L ATMEGA328P-8.build.core = arduino: arduino ATMEGA328P-8.build.variant = ATMEGA328P ATMEGA328P-8.upload.maximum_size = 32000 ################################################## ############
Speichern Sie die Datei und kopieren Sie die bearbeitete "boards.txt", um die Position "C: \ Programme \ Arduino \ Hardware \ arduino \ avr". Sie können für die Administratorrechte gefragt. (Sie können die "boards.txt" auf dieser Seite herunterladen und fügen Sie ihn in die Position "C: \ Programme \ Arduino \ Hardware \ arduino \ avr").
Jetzt offen Arduino IDE und gehen Sie zu Tools-Menü "Tools> Boards> ATMEGA328P". Wieder auf Option Tools und wählen Sie den richtigen COM-Port und überprüfen Sie die Programmierer Arduino als ISP (Tools> Programmierer> Arduino als ISP).
Laden Sie die Datei von dieser blinkled.ino instructable und hochladen. Sie sollten sehen, LED blinkt im 1 s-Intervall.