Nach Erhalt meiner ersten Arduino UNO, wurde mir bald klar, dass es unpraktisch ist, verwenden Sie eine UNO für jedes Projekt werden. Wie bei der Mikrochip-Familie von MCUs, wollte ich eine einfache Möglichkeit zum Programm stand-alone-Schaltungen und Chips.
Suche im Internet, war es klar, dass der Arduino IDE für alle meine Bedürfnisse erfüllen können und keine zusätzlicher Hardware benötigt werden. Das Arduino UNO ist als ein In-Circuit-Programmierer mit der mitgelieferten Beispiel-Skizze ArduinoISP und die UNO programmierbar. Somit gibt es keine Notwendigkeit für einen separaten Programmierer oder mit AvrDude Software für die Programmierung. Viele Beispiele dazu wurde im Internet gefunden.
Nach einigen Tests war es klar, dass die Programmierung der AtMega328P war nicht so einfach wie ich dachte. Programmierung aller hing von der AtMega328P-Chip. Enthalten es den Bootloader bereits, oder der Chip leer? Kosten eines Chips mit Bootloader ist doppelt so hoch, dass eine saubere Chip, also meine erste Partie von Chips war leer.
Was ist der Unterschied, bitten Sie. Nun, ist es alles über die AtMega328P-Oszillator-Auswahl.
Sehen wir uns die Unterschiede
AtMega328P mit bootloader
Dieser Chip kostet etwa doppelt so einen leeren chip
Die Config-Register des Chips soll einen externe Kristall als Uhr (16 MHz) verwenden
Ohne einen externen Oszillator kann man nicht den Chip mit dem Arduino als Programmierer programmieren.
Sobald mit einem externen Oszillator ausgestattet, kann der Chip programmiert mit dem Arduino als Programmierer
AtMega328P ohne bootloader
Kostet die Hälfte eines Chips mit bootloader
Das Config-Register des Chips ist auf dem internen 1 MHz-Takt verwenden festgelegt
Chip mit dem Arduino als Programmierer programmiert werden kann, aber das Programm läuft 16-mal langsamer als der Code sollte, wie der Arduino IDE den Code kompiliert mit 16 MHz und nicht 1 MHz laufen
Chip kann für 16 MHz durch das Hochladen des Arduino Bootloader konfiguriert werden.