Mit jeder neuen Controllergeneration nimmt die Anzahl der bereitgestellten Interrupts zu. Eine Möglichkeit Interrupts zu organisieren, um dieser Zunahme Herr zu werden, nämlich der Einsatz von Callbacks und Callback Chains, wird im ersten Teil des Buches vorgestellt. Es folgt die Ergänzung und Erweiterung der Fließkommaarithmetik aus dem ersten Buch der Reihe „Systemprogrammierung“ mit den wichtigsten mathematischen Funktionen. Die trigonometrischen Funktionen werden mit dem CORDIC-Verfahren berechnet, das bei dieser Gelegenheit ausführlich erläutert wird. Ein dritter großer Abschnitt ist der BCD-Arithmetik gewidmet. Es werden nicht nur alle Grundrechenarten implementiert, sondern auch alle Umwandlungen in das Binär- und das Dezimalsystem und zurück. Kleinere Abschnitte behandeln die Kalenderarithmetik und die Umsetzung komplexer Schlussregeln mit einem Produktionssystem, das auch für kleine AVR-Controller geeignet ist. Alle Programme sind so ausführlich erläutert und kommentiert, dass der Leser keine Schwierigkeiten damit haben dürfte, sie an eigene Bedürfnisse anzupassen – außerdem stehen sie auf der Website des Autors zum kostenlosen Download bereit. Der für alle Programme verwendete Assembler wird vom Hersteller der AVR-Mikrocontroller kostenlos zur Verfügung gestellt. Band 1 der Reihe „Systemprogrammierung“ (ISBN 978-3-89576-218-5) behandelt Interrupts, Multitasking, die Fließkommaarithmetik und Zufallszahlen.
Manfred Schwabl Schmidt Libros





Das Buch ist in zwei Hauptteile gegliedert. Der erste Teil behandelt Techniken zur Realisierung paralleler Programmabläufe, angefangen bei einfacher Ablaufsteuerung von Hintergrundprozessen durch Interrupts bis hin zur Implementierung eines für AVR-Mikrocontroller angepassten RTOS. Hintergrundprozesse werden bequem mittels Interrupts realisiert, wobei die Synchronisationsproblematik ausführlich behandelt wird. Neben der klassischen Verwendung von Interrupts werden auch innovative Anwendungen, wie der Einsatz eines Timer-Interrupts als Programmschleifenzähler, vorgestellt. Es wird demonstriert, dass Multitasking auch auf kleineren Mikrocontrollern der AVR-Serie möglich ist, beispielsweise durch Systeme, die auf einem ATtiny2313 laufen. Für leistungsfähigere Controller ist SLIMOS konzipiert, wo Prozesse als dynamische Objekte behandelt und durch Semaphoren und Ereignisse synchronisiert werden. Der zweite Teil widmet sich der Numerik, mit einem Schwerpunkt auf der Implementierung einer AVR-freundlichen Fließkommaarithmetik, die den IEEE 754 Standard soweit umsetzt, wie es für kleine AVR-Prozessoren sinnvoll ist. Ein Kapitel erklärt die Grundlagen der Fließkommaarithmetik, einschließlich der Berechnung mit Unendlichkeiten. Zudem wird die Erzeugung von Zufallszahlen behandelt, die in verschiedenen Verteilungen bereitgestellt werden. Der Anhang enthält eine AVR-freundliche Umsetzung der Fletcher-Methode und die Implementierung von F
Der dsPIC33F bietet einen ausgewogenen Kompromiss zwischen einem spezialisierten Prozessor für digitale Signalverarbeitung und einem herkömmlichen Mikrocontroller, was die Nutzung seiner Eigenschaften für verschiedene Anwendungen erleichtert. Das Buch behandelt die Implementierung grundlegender Rechenoperationen mit komplexen Zahlen, die Programmierung arithmetischer Basisfunktionen sowie Matrizenmultiplikation mithilfe von Pointer-Technik. Ein umfassender Abschnitt widmet sich der digitalen Signalverarbeitung, wobei alle relevanten Eigenschaften ausführlich als Programmiertechniken vorgestellt werden. Zudem wird grundlegendes Wissen vermittelt, um diese Techniken zu verstehen. Eine anspruchsvolle Anwendung der digitalen Signalverarbeitung ist die Implementierung der schnellen Walsh-Transformation, die detailliert erklärt wird, sodass auch Einsteiger folgen können. Ein erheblicher Teil des Buches konzentriert sich auf Programmiertechniken für den dsPIC33F, wobei spezielle Befehle und verschiedene Speicherzugriffstechniken in nicht trivialen Programmen demonstriert werden. Der effektive Einsatz der Adressierungsarten des Prozessors wird besonders betont. Auch die Systemumgebung des Controllers wird behandelt, einschließlich des Einsatzes des Linkers zur Lösung von Sprungproblemen über 64 KB und der Hochlauf des Controllers im EXPLORER-16.
Dieses Buch ist der erste Band einer Buchreihe, die der Programmierung von AVR-Mikrocontrollern gewidmet ist. Da es die Grundlagen präsentiert, beginnend mit Bits und Bytes, ist es für Leser geeignet, die sich in das Gebiet erst einarbeiten wollen. Aber auch wer AVR-Prozessoren in C programmiert, wird von der Lektüre profitieren, weil die Besonderheiten sorgfältig herausgearbeitet werden, die man zu beachten hat, wenn gute Assemblerprogramme entwickelt werden sollen. Beispielsweise wird ausführlich auf die besondere Rolle eingegangen, welche die Statusbits in Assemblerprogrammen spielen. Das Buch führt den Leser vom Aufbau eines einfachen Maschinenprogramms bis hin zur Entwicklung eines interruptgesteuerten, im Hintergrund ablaufenden Messgeräteprogramms. Auf dem Weg dorthin wird auf verständliche Weise vorgestellt, was im näheren und im weiteren Sinn mit Programmstrukturen zu tun hat (die Datenstrukturen sind dem nächsten Band der Reihe vorbehalten). Dazu zählen insbesondere Verzweigungen und Schleifen, aber auch der Einsatz des Stapels ist von Bedeutung. Im Rahmen der Buchreihe ist bereits erschienen: - Buch 2: Statische Datenstrukturen – vom Bit zur mehrdimensionalen Tabelle (ISBN 978-3-89576-230-7) Geplant sind folgende weitere Titel: - Buch 3: LCD-Graphik I, verkettete Strukturen I, Zeichenketten, Fädeltechnik I - Buch 4: LCD-Graphik II, verkettete Strukturen II, Fädeltechnik II - Buch 5: Schnittstellen - Buch 6: JAVA
Softwareentwicklung für AVR-Mikrocontroller
- 215 páginas
- 8 horas de lectura
Dieses Buch behandelt Softwaretechniken zur Entwicklung anspruchsvoller Programme für AVR-Mikrocontroller. Im ersten Teil, der sich mit Datenstrukturen beschäftigt, wird die Harvard-Architektur der Controller und die daraus resultierenden Programmiertechniken erläutert. Aufgrund des begrenzten Arbeitsspeichers der meisten AVR-Controller sind angepasste Implementierungsmethoden erforderlich, wie beispielsweise die verdichtete Speicherung und das Sortieren kurzer Zahlenfolgen mit Sortiernetzwerken. Die Implementierung der Buddy-Methode zur Speicherverwaltung zeigt, dass bei der Programmierung von AVR-Controllern komplexere Algorithmen eingesetzt werden können. Der zweite Teil analysiert die Arithmetik der Controller, was zu Programmiertechniken führt, die ohne diese Analyse schwer zu erlangen wären. Es wird eine Fixkommaarithmetik entwickelt, die oft besser an die Rechenleistung der Controller angepasst ist als fließkommaintensive Verfahren. Anhand von zwei Beispielen wird demonstriert, wie auf dieser Basis höhere Funktionen implementiert werden können. Der AVR-Assembler, der kostenlos zur Verfügung steht, wird durchweg für die Programme verwendet. Ein Simulator, der Teil der Programmierumgebung ist, ermöglicht es, die Programme nachzuvollziehen oder mit ihnen zu experimentieren, ohne einen echten Controller einsetzen zu müssen.