Arduino: Unterschied zwischen den Versionen

Aus Matthias Wiki
Zur Navigation springen Zur Suche springen
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
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]
*[https://techmike1985.wordpress.com/2013/06/10/74hc595-schieberegister-grundlagen Schieberegister 74HC595]
*[http://www.nongnu.org/avr-libc/user-manual/inline_asm.html Inline Assembler]
**[https://ucexperiment.wordpress.com/2013/06/03/gcc-inline-assembler-cookbook Beispiele]
*[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]
Zeile 11: Zeile 12:
*[http://gizmosnack.blogspot.ch/2013/04/tutorial-nrf24l01-and-avr.html Tutorial nRF24L01 and AVR]
*[http://gizmosnack.blogspot.ch/2013/04/tutorial-nrf24l01-and-avr.html Tutorial nRF24L01 and AVR]
*[http://mcuoneclipse.com/2013/07/20/tutorial-ultra-low-cost-2-4-ghz-wireless-transceiver-with-the-frdm-board Very detailed tutorial for nRF24L01]
*[http://mcuoneclipse.com/2013/07/20/tutorial-ultra-low-cost-2-4-ghz-wireless-transceiver-with-the-frdm-board Very detailed tutorial for nRF24L01]
*[https://www.sdcard.org/downloads/pls Secure Digital (SD) Card Simplified Spec]
*[http://www.chlazza.net/sdcardinfo.html Secure Digital (SD) Card Spec and Info]
*[http://www.chlazza.net/sdcardinfo.html Secure Digital (SD) Card Spec and Info]
*[http://elm-chan.org/docs/mmc/mmc_e.html How to Use MMC/SDC]
*[http://elm-chan.org/docs/mmc/mmc_e.html How to Use MMC/SDC]
*[https://www.pjrc.com/tech/8051/ide/fat32.html Understanding FAT32 Filesystems]
*[https://www.pjrc.com/tech/8051/ide/fat32.html Understanding FAT32 Filesystems]
*[https://www.win.tue.nl/~aeb/linux/fs/fat/fat-1.html FAT-Filesystem]
*[https://www.win.tue.nl/~aeb/linux/fs/fat/fat-1.html FAT-Filesystem]
*[https://technet.microsoft.com/en-us/library/cc776720(v=ws.10).aspx How FAT works]
*[https://techmike1985.wordpress.com/2013/06/10/74hc595-schieberegister-grundlagen Schieberegister 74HC595]
*[http://www.mikrocontroller.net/articles/WS2812_Ansteuerung Ansteuerung des WS2812]


==Arduino als In-System-Programmierer==
==Arduino als In-System-Programmierer==

Aktuelle Version vom 15. Februar 2017, 08:28 Uhr

Arduino allgemein[Bearbeiten]

Links[Bearbeiten]

Links zu Peripherie[Bearbeiten]

Arduino als In-System-Programmierer[Bearbeiten]

Links[Bearbeiten]

Beschreibung[Bearbeiten]

  • 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[Bearbeiten]

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

Lesen/Schreiben von Fuses für ATMega168[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

Siehe Quadrokopter