Arduino: Unterschied zwischen den Versionen
| Zeile 28: | Zeile 28: | ||
<code>avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U lfuse:w:0x62:m -U hfuse:w:0xdf:m -U efuse:w:0xf9:m</code> | <code>avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U lfuse:w:0x62:m -U hfuse:w:0xdf:m -U efuse:w:0xf9:m</code> | ||
Write fuses for internal oszillator no clock division: | |||
<code>avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U lfuse:w:0xe2:m -U hfuse:w:0xdf:m -U efuse:w:0xf9:m</code> | |||
Write fuses for external oszillator: | Write fuses for external oszillator: | ||
<code>avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U lfuse:w: | <code>avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U lfuse:w:0xff:m -U hfuse:w:0xdf:m -U efuse:w:0xf9:m</code> | ||
Write fuses for external oszillator "full swing": | |||
<code>avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U lfuse:w:0xf7:m -U hfuse:w:0xdf:m -U efuse:w:0xf9:m</code> | |||
===Locking=== | ===Locking=== | ||
Version vom 15. November 2015, 21:24 Uhr
Arduino als In-System-Programmierer
Links
- Arduino als In-System-Programmierer
- Firmware flashen
- Arduino Micro as ISP
- From Arduino to a Microcontroller on a Breadboard
- Tipps zu AVR Fuses
- Einstellhilfe für AVR Fuses
- Microcontroller.net: AVR
- ATMega168 Pin-Layout
- Arduino Micro Pin-Layout
- ATMega168 Pin-Layout
- ISP-Programmer für Arduino nach stk500v2-Protokoll
- Gute Beschreibung einzelner Fuse-Bits
- Datenblat ATMega168
Beschreibung
- ATMega besser mit Quartz laufen lassen, ansonsten funktioniert möglicherweise die Kommunikation via SPI nicht
- Achtung, Taktgeber nicht auf "external Clock" einstellen, dann muss der Takt von außen aktiv vorgegeben werden. Hilfe gibt es hier
Lesen/Schreiben von Fuses für ATMega168
Read fuses:
avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf
Write default fuses:
avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U lfuse:w:0x62:m -U hfuse:w:0xdf:m -U efuse:w:0xf9:m
Write fuses for internal oszillator no clock division:
avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U lfuse:w:0xe2:m -U hfuse:w:0xdf:m -U efuse:w:0xf9:m
Write fuses for external oszillator:
avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U lfuse:w:0xff:m -U hfuse:w:0xdf:m -U efuse:w:0xf9:m
Write fuses for external oszillator "full swing":
avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U lfuse:w:0xf7:m -U hfuse:w:0xdf:m -U efuse:w:0xf9:m
Locking
Dokumentation zu den Lock-Bits ist sehr dürftig. Über die Lock-Bits kann man sich aus dem Chip auch aussperren.
Entsperren:
avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U lock:w:0x3F:m
Sperren:
avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U lock:w:0x0F:m
Flashen
Schreiben:
avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U flash:w:flash.hex
Lesen:
avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U flash:r:flash.hex:r
Quadrokopter
Siehe Quadrokopter