Arduino: Unterschied zwischen den Versionen

Aus Matthias Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 16: Zeile 16:
*[http://derjulian.net/mikrocontroller#headline_17 ATMega168 Pin-Layout]
*[http://derjulian.net/mikrocontroller#headline_17 ATMega168 Pin-Layout]
*[https://camo.githubusercontent.com/74ec507485d8fb1d729756d98f4a4c1634c7a289/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f3530343931342f323230383739372f65656439303038302d393938332d313165332d383665362d3462383434396330316432362e706e67 Arduino Micro Pin-Layout]
*[https://camo.githubusercontent.com/74ec507485d8fb1d729756d98f4a4c1634c7a289/68747470733a2f2f662e636c6f75642e6769746875622e636f6d2f6173736574732f3530343931342f323230383739372f65656439303038302d393938332d313165332d383665362d3462383434396330316432362e706e67 Arduino Micro Pin-Layout]
*[http://academy.kaziunas.com/tutorials/images/embedded_programming/Atmega168Pinout_Arduino.png ATMega168 Pin-Layout]
*[http://academy.kaziunas.com/tutorials/images/embedded_programming/Atmega168Pinout_Arduino.png ATMega168 Pin-Layout], [https://www.arduino.cc/en/Hacking/PinMapping168 mit Arduino-Mapping]
*[http://playground.arduino.cc/Code/Programmer2 ISP-Programmer für Arduino nach stk500'''v2'''-Protokoll]
*[http://playground.arduino.cc/Code/Programmer2 ISP-Programmer für Arduino nach stk500'''v2'''-Protokoll]
*[http://www.martyncurrey.com/arduino-atmega-328p-fuse-settings Gute Beschreibung einzelner Fuse-Bits]
*[http://www.martyncurrey.com/arduino-atmega-328p-fuse-settings Gute Beschreibung einzelner Fuse-Bits]

Version vom 20. November 2015, 06:21 Uhr

Arduino allgemein

Links

Arduino als In-System-Programmierer

Links

Beschreibung

  • ArduinoISP arbeitet mit 19200bps
  • 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

Chip erase

avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -e

Lesen/Schreiben von Fuses für ATMega168

Read fuses:

avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf

Write fuses:

avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U lfuse:w:0xXX:m -U hfuse:w:0xXX:m -U efuse:w:0xXX:m

Werte für Fuses:

Funktion lfuse hfuse efuse
interner Oszillator mit "clock division" (default) 0x62
interner Oszillator ohne "clock division" 0xe2
externer Oszillator ohne "clock division" 0xff
externer Oszillator mit "clock division" 0x7f
externer Oszillator "full swing" 0xf7
sichere High-Fuse (default) 0xdf
kein Bootloader (default) 0xf9
1kb Bootloader 0xf8

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:i

Auch das EEPROM kann ausgelesen werden: "eeprom" anstelle von "flash"

Lesen:

avrdude.exe -P COM6 -b 19200 -c arduino -p atmega168p -C ..\etc\avrdude.conf -U flash:r:flash.hex:i

Auch das EEPROM kann beschrieben werden: "eeprom" anstelle von "flash"

Quadrokopter

Siehe Quadrokopter