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 Reihenfolge der Bücher





- 2011
- 2010
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
- 2009
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
- 2008
Der dsPIC33F ist ein guter Kompromiss zwischen einem speziellen für die digitale Signalverarbeitung konzipierten Prozessor und einem gewöhnlichen Mikrocontroller. Das macht es leicht, die auf die digitale Signalverarbeitung zugeschnittenen Eigenschaften auch für andere Zwecke zu nutzen. Der im Buch behandelte Themenkreis führt von der Implementierung der Grundrechenarten komplexer Zahlen über die Programmierung der arithmetischen Basisfunktionen und die mit Pointer-Technik ausgeführte Matrizenmultiplikation bis zum Einsatz des Interruptsystems des Controllers. Auch der digitalen Signalverarbeitung ist selbstverständlich breiter Raum gewidmet. Alle darauf bezogenen Eigenschaften werden nicht nur ausführlich als Programmiertechnik vorgestellt, es wird auch genug Basiswissen zum Verständnis dieser Techniken bereitgestellt. Als eine schon anspruchsvolle Anwendung der digitalen Signalverarbeitung wird gezeigt, wie die schnelle Walsh-Transformation mit einem dsPIC33F realisiert werden kann. Die Transformation selbst wird so eingehend erläutert, dass man der Implementierung auch ohne Vorkenntnisse zu folgen vermag. Ein großer Teil des Buches ist der Vermittlung von Programmiertechniken für den dsPIC33F gewidmet. Das geschieht einerseits dadurch, dass spezielle Befehle unmittelbar in ihrer Anwendung vorgestellt werden, anderseits aber auch so, dass spezielle Techniken, etwa die verschiedenen Techniken des Speicherzugriffs, im Einsatz in nicht trivialen Programmen gezeigt werden. Besonderer Wert wird dabei auf den effektiven Einsatz der Adressierungsarten des Prozessors gelegt. Die Systemumgebung des Controllers ist ebenfalls Gegenstand des Buches. Beispielsweise wird gezeigt, wie man den Linker einsetzen kann, um das Problem der Sprünge über die Grenze von 64 KB hinaus zu lösen, aber auch, wie der Controller in der Umgebung des EXPLORER-16 hochgefahren werden kann.
- 2007
Softwareentwicklung für AVR-Mikrocontroller
- 215 Seiten
- 8 Lesestunden
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.