Arduino: Unterschied zwischen den Versionen

Aus Matthias Wiki
Zur Navigation springen Zur Suche springen
Zeile 3: Zeile 3:
===Links===
===Links===
*[http://skpang.co.uk/blog/archives/323 Schnelleres GPIO auf dem Arduino]
*[http://skpang.co.uk/blog/archives/323 Schnelleres GPIO auf dem Arduino]
*[http://www.nongnu.org/avr-libc/user-manual/inline_asm.html Inline Assembler]
*[https://techmike1985.wordpress.com/2013/06/10/74hc595-schieberegister-grundlagen Schieberegister 74HC595]
*[https://techmike1985.wordpress.com/2013/06/10/74hc595-schieberegister-grundlagen Schieberegister 74HC595]
*[http://ewiki.e-dschungel.de/software/avr-gcc Konstanten im Flash ablegen]
*[http://ewiki.e-dschungel.de/software/avr-gcc Konstanten im Flash ablegen]
*[https://ucexperiment.wordpress.com/2015/03/31/avr-gcc-fixed-point-vs-floating-point-comparison Fixed Point Zahlen in C]
*[https://ucexperiment.wordpress.com/2015/03/31/avr-gcc-fixed-point-vs-floating-point-comparison Fixed Point Zahlen in C]
*[http://www.mikrocontroller.net/articles/WS2812_Ansteuerung Ansteuerung des WS2812]


===Links zu Peripherie===
===Links zu Peripherie===

Version vom 14. Februar 2017, 11:15 Uhr

Arduino allgemein

Links

Links zu Peripherie

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