AVR Embedded Tutorials/de
From Free Pascal wiki
AVR Embedded Tutorial
Tutorial zur Programmierung von AVR-Mikrocontrollern mit FPC und Lazarus. Dies betrifft diverse ATtiny, ATmega. Die Beispiele laufen die meisten auch auf Arduino mit ATmega. Vor allem der Uno/Nano. Auch der Arduino-Mega lässt sich programmieren. Grundsätzlich sind alle AVR etwa gleich zu programmieren. Meisten unterscheiden sich nur die Register ein wenig.
Cross-Compiler/IDE einrichten
Bauen des Cross-Compilers und Einrichten der Lazarus-IDE:
- Einstieg Lazarus und Arduino ( Uno/Nano ) - Wie richte ich Lazarus ein, um einen Arduino zu programmieren (AVR - Crosscompiler).
- Lazarus für ATtiny und ATmega einrichten - Lazarus Crosscompilierung für andere Arduino/AVR.
Beispiele AVR Programmierung
- Software:
- AVR-Programmierung - Wichtige Grundlagen und Besonderheiten zur Programmierung von AVR (deutsch)
- Bibliotheken - Units in der AVR-Programmierung.
- Delay - Warteroutinen (Delay/Sleep).
- Multiplex - Multiplex anhand einer 4-fach Siebensegmentanzeige.
- Integer zu Digits - Einen Integer auf Digits (7-Segmentanzeige) ausgeben.
- Zufallsgenerator - Ein Zufallsgenerator ist auf einem AVR recht komplex.
- Hardware:
- GPIO - Aus und Ein-gabe - Wie mache ich eine GPIO-Ausgabe am AVR.
- GPIO - Interrupt - Verwendung von GPIO-Interrupts und Pin Change.
- Timer/Zähler - Verwendung der Hardware-Timer.
- Analog Write / PWM - Analoge Ausgabe mittels Pulsweitenmodulation (PWM)
- Analog Read - Analog Pin auslesen.
- EEPROM - Daten im EEPROM speichern und lesen.
- Schnittstellen:
- UART - Serielle Ein und Ausgabe über UART (COM-Port).
- SPI - Nutzung der Hardware-SPI-Schnittstelle bei einem ATmega328 / Arduino.
- I²C/TWI - Kommunikation mit I²C/TWI, Hardware gesteuert.
- Software I²C/TWI - Kommunikation mit I²C/TWI, Software gesteuert.
- Externe Bausteine:
- Schieberegister - Wie steuere ich Schieberegister an.
- ADS1115 - Wie steuere ich den 16Bit-Wandler ADC1115 an.
Siehe auch
- AVR - Crosscompiler mit make bauen. (englisch)
- AVR Programming - Wichtige Grundlagen und Besonderheiten zur Programmierung von Target Embedded AVR (englisch)
- Arduino - Kommunikation mit einem Arduino.