AVR – Mikrocontroller
MegaAVR® - Entwicklung, Anwendung und Peripherie
Ingo Klöckl
Zur Durchführung eines gemischten Hard- und Softwareprojektes mit Mikrocontrollern ist fundiertes Wissen über die Hardwareeinheiten des Controllers unabdingbar. Ebenso notwendig ist die Kenntnis von Sprachen auf zwei Ebenen – C für die große Struktur der Firmware und Assembler für zeit- oder resourcenkritische oder hardwarenahe Codeabschnitte. Das Buch stellt die notwendigen Grundlagen für erfahrene Entwickler bereit, um eigene Projekte mit Mikrocontrollern realisieren zu können. Als Grundlage dient der 8 bit-Mikrocontroller ATmega16 als typischer Vertreter der megaAVR® Mikrocontroller der Firma Atmel®. Das Buch stellt Aufbau und Hardwarebaugruppen des ATmega16 stellvertretend für alle megaAVR®-Mikrocontroller und ihre Ansteuerung über Register detailliert vor und liefert Lösungsansätze für typische Problemstellungen aus dem Umfeld der Embedded-Entwicklung wie Messung von Zeit, Frequenz und Geschwindigkeit, Steuerungen, Ereignisbehandlung und asynchrone Programmierung sowie Kommunikation über SPI, TWI oder serielle Schnittstelle. Beispiele wie mikrosekundengenaue Stoppuhren, Fahrradtachometer oder Frequenzzähler illustrieren die Verfahren. Zu jedem Problem ist neben der Schaltung das vollständige Program in C oder – wenn sinnvoll – Assembler gezeigt. Neben Hard- und Softwareentwicklung wird auch die praktische Arbeit mit Atmel Studio® beleuchtet, wie das On-Chip-Debugging und ein Entwicklungszyklus (Editieren, Compilern und Linken, Flashen). Darüber hinaus werden im Rahmen von Projekten wie DDS-Synthese oder Analog-Datenlogger typische Peripheriebausteine (Echtzeituhren RTC, Digital-Analog-Wandler DAC, serielle EEPROMs) vorgestellt.