Vorwort | 6 |
Inhalt | 8 |
Kapitel 1 Einleitung | 12 |
Kapitel 2 Mega32 | 16 |
Kapitel 3 Application-Board Mega 32 | 17 |
Kapitel 4 Mega128 | 19 |
Kapitel 5 Application-Board Mega 128 | 20 |
Kapitel 6 Hardware-Einstellung | 22 |
6.1 Application-Board MEGA32 | 22 |
6.1.1 Programmierung über USB | 22 |
6.1.2 Programmierung über RS232 | 23 |
6.2 Application-Board M128 | 24 |
6.2.1 Programmierung über USB | 25 |
6.2.2 Programmierung über RS232 | 26 |
Kapitel 7 Software-Installation | 29 |
7.1 Entwicklungsumgebung | 29 |
7.2 USB-Treiber | 33 |
Kapitel 8 Software-Einstellungen | 38 |
8.1 IDE-Update | 38 |
8.2 Compiler | 39 |
8.3 Editor | 40 |
Kapitel 9 Das erste Programm | 42 |
9.1 Programmierung | 42 |
9.2 Fehlersuche | 47 |
9.2.1 Software | 49 |
Syntaxfehler | 49 |
Logische Fehler | 52 |
9.2.2 Hardware | 59 |
Kapitel 10 C und Basic in einem Projekt | 61 |
Kapitel 11 Schutz der Programme (PIN) | 64 |
Kapitel 12 Anschluss externer Komponenten | 68 |
12.1 DCF-Modul | 68 |
12.2 LCD-Display 4 x 20 | 71 |
12.3 Sensoren | 75 |
12.3.1 Digitale Sensoren | 75 |
12.3.2 Analoge Sensoren | 77 |
12.4 CCI Relais-Modul | 80 |
12.5 I2C-Bus-Thermometer-Modul | 84 |
12.6 I2C-Bus-Tastatur | 88 |
Kapitel 13 Stringverarbeitung | 92 |
13.1 Strings in der C-Control-Pro-Umgebung | 92 |
13.2 Strings sind Arrays | 92 |
13.3 Stringfunktionen in der Bibliothek | 93 |
13.4 Stringbearbeitung- selbst gemacht | 94 |
13.5 Steuerzeichen | 99 |
13.6 Formatierung numerischer Werte | 100 |
Kapitel 14 Optimierung von CompactC | 102 |
14.1 Optimierung ist Programierersache | 102 |
14.2 Optimierung Schritt für Schritt | 103 |
14.3 Switch-Anweisungen sind effizient | 105 |
14.4 Arithmetische Ausdrücke vereinfachen | 106 |
14.5 Eingliedern von Funktionen | 107 |
14.6 Einsparen von Programmcode | 109 |
14.7 Projektionen prüfen | 111 |
Kapitel 15 Optimierung von BASIC | 114 |
15.1 Optimierung ist Programmierersache | 114 |
15.2 Optimierung Schritt für Schritt | 114 |
15.3 Select-Case-Anweisungen sind effizient | 116 |
15.4 For-Schleifen benutzen | 117 |
15.5 Arithmetische Ausdrücke vereinfachen | 118 |
15.6 Eingliedern von Funktionen | 119 |
15.7 Einsparen von Programmcode | 121 |
15.8 Projektoptionen prüfen | 123 |
Kapitel 16 Der Preprozessor | 125 |
16.1 Definitionen | 125 |
16.2 Bedingte Kompilierung | 127 |
16.3 Einfügen von Dateien | 129 |
16.4 Preprozessor-Makros | 130 |
16.5 Vordefinierte Symbole | 132 |
16.6 Compiler-Anweisungen | 134 |
16.7 Mischen von BASIC und CompactC | 134 |
Kapitel 17 Interruptbehandlung | 136 |
17.1 C-Control-Pro-Interrupts | 136 |
17.2 Externe Interrupts | 138 |
17.3 Interpreter-Interrupts im Detail | 140 |
Kapitel 18 Multithreading | 141 |
18.1 Starten von Threads | 141 |
18.2 Konfiguration des Multithreadings | 143 |
18.3 Warten in Threads | 146 |
18.4 Threads synchronisieren | 148 |
18.5 Multithreading im Detail | 150 |
Kapitel 19 Anwendungen | 152 |
19.1 Voltmeter | 152 |
19.2 Heizungssteuerung mit NTC-Sensoren | 155 |
19.3 Heizungssteuerung mit Raumtemperaturregler | 164 |
19.4 Temperaturschalter mit Sensorüberwachung | 169 |
19.5 Zwei-Kanal-Thermometer | 172 |
19.6 Temperaturdifferenzschalter | 175 |
19.7 Acht-Kanal-Lauflicht | 178 |
19.8 Digital-Timer | 182 |
19.9 Stoppuhr | 189 |
19.10 Gewächshausreglung | 194 |
19.11 3-Kanal-DCF-Zeitschaltuhr | 202 |
19.12 Ein-/Ausschaltverzögerung | 212 |
Kapitel 20 Der Bytecode-Interpreter | 216 |
20.1 Die Speicherbereiche im Interpreter | 216 |
20.2 Die Arbeitsweise des Arithmetik-Stacks | 217 |
20.3 Beispiel: Zuweisung | 218 |
20.4 Beispiel: Funktionsaufruf | 220 |
20.5 Beispiel: if-Anweisung | 222 |
20.6 Beispiel: For-Schleife und Array-Zugriff | 223 |
20.7 Beispiel: Switch-Anweisung | 225 |
Kapitel 21 Anhang- Bytecode-Übersicht | 227 |
21.1 Bytecode-Übersicht | 227 |
Sachverzeichnis | 242 |