ARM Cortex-M3 Mikrocontroller (eBook)
576 Seiten
MITP Verlags GmbH & Co. KG
978-3-8266-9600-8 (ISBN)
Ralf Jesse ist Diplom-Ingenieur der Elektrotechnik mit mehr als 25 Jahren beruflicher Praxis im Einsatz von Mikroprozessoren und -controllern. Nach ersten Erfahrungen als Entwicklungsingenieur in einem Maschinenbau-Unternehmen folgten mehr als 20 Jahre als Software-Ingenieur in einem großen japanischen Konzern.
Ralf Jesse ist Diplom-Ingenieur der Elektrotechnik mit mehr als 25 Jahren beruflicher Praxis im Einsatz von Mikroprozessoren und -controllern. Nach ersten Erfahrungen als Entwicklungsingenieur in einem Maschinenbau-Unternehmen folgten mehr als 20 Jahre als Software-Ingenieur in einem großen japanischen Konzern.
Cover 1
Inhaltsverzeichnis 5
Einleitung 15
Teil I: Grundlagen 25
Orientierung 27
1.1 Kommerzielle IDEs 27
1.1.1 Keil QVision 28
1.1.2 IAR Workbench 28
1.1.3 Sourcery Codebench 28
1.1.4 Atollic TrueSTUDIO 29
1.1.5 CrossWorks for ARM 29
1.2 Herstellergebundene IDEs 30
1.2.1 ATMEL Studio 6 30
1.2.2 Texas Instruments StellarisWare 30
1.2.3 STMicroelectronics STVD 31
1.3 Freie IDEs 31
1.3.1 CooCox CoIDE 31
1.3.2 NetBeans for C Developers 31
1.3.3 Code::Blocks 32
1.3.4 emIDE 32
1.3.5 Eclipse für C/C++-Entwickler 32
1.4 Vorbereitende Arbeiten 33
1.4.1 Hardware 34
1.4.2 Software 37
ARM und CMSIS 53
2.1 Einige Hintergrundinformationen 53
2.1.1 Die Firma ARM Holdings PLC 53
2.1.2 Das Geschäftsmodell 53
2.2 CMSIS 54
2.2.1 Implementierungen 54
2.3 Erzeugung der Bibliotheken 56
2.3.1 libboard: Die Bibliothek für das Entwicklungsboard 57
2.3.2 libchip: Die Bibliothek für den Mikrocontroller-Chip 62
2.4 Weitere Software installieren 64
2.4.1 SAM-BA 64
2.4.2 SEGGER J-Link GDB Server via JTAG 67
Das erste Eclipse-Projekt 71
3.1 Erstellen einer Projektschablone 71
3.1.1 Workspace einrichten 72
3.1.2 Anlegen eines neuen Projekts 73
3.1.3 Projektspezifische Einstellungen 75
3.1.4 C/C++ Build: Settings 78
3.2 Weitere erforderliche Dateien 94
3.2.1 board_cstartup_gnu.c und syscalls.c 94
3.2.2 Linkerscriptdateien 96
3.3 Konfiguration des Debuggers 104
3.4 Fertigstellen des Templates 108
3.4.1 Anwendung der Erweiterung 109
Hello World! 111
4.1 Grundlegende Hinweise 111
4.2 Erstellen des Projekts 04_01_Blinky 112
4.2.1 Importieren der Schablone 114
4.2.2 Der Sourcecode von Blinky 116
4.3 Blinky im Debugger ausführen 126
4.4 Debugging light 132
4.4.1 Was Sie benötigen 132
4.4.2 Konfiguration der Schnittstelle 133
4.4.3 Programm laden und ausführen 133
4.4.4 Vorteile und Nachteile dieser Methode 134
Teil II: Einfache Grundlagen der Elektronik 137
Der ATMEL SAM3S4B 139
5.1 Die ATMEL-SAM3S-Familie 140
5.1.1 Übersicht 140
5.2 Das Datenblatt DOC 6500 141
5.2.1 Der Aufbau von DOC 6500 142
5.2.2 Mikrocontroller anderer Hersteller 144
5.3 Elektrische Daten des SAM3S4 145
5.3.1 Minimum- und Maximumwerte 146
5.3.2 Elektrische Versorgungsspannungen 147
5.3.3 Gleichstromwerte 149
5.4 System Controller 152
5.5 CHIP_ID 153
5.5.1 Das Projekt 05_01_CHIPID 154
5.5.2 Erläuterungen 158
5.6 Weiterführende Literatur 162
Elektronik 165
6.1 Digitale Ausgänge 165
6.1.1 Ports A, B und C im Reset-Zustand 166
6.2 Schalten kleiner Ströme 174
6.2.1 Current Sourcing 174
6.2.2 Current Sinking 176
6.2.3 Dimensionierung bei Current Sourcing und Current Sinking 177
6.2.4 Vor- und Nachteile beider Betriebsarten 180
6.3 Schalten größerer Ströme 181
6.3.1 Bipolare Transistoren 181
6.3.2 Feldeffekt-Transistoren (FETs) 190
6.3.3 Schalten mit Optokopplern 191
6.3.4 Schalten von Leistungstransistoren 192
6.3.5 Schalten induktiver Lasten (Relais, Elektromagnete, Motoren) 192
6.4 Digitale Eingänge 194
6.4.1 Grundlegende Betrachtungen 194
6.4.2 Einfachste Form der Beschaltung 194
6.4.3 Bessere Form der Beschaltung 195
6.4.4 Erfassen größerer Spannungen I 196
6.4.5 Erfassen größerer Spannungen II 198
6.5 Allgemeine Anmerkungen 198
Anwendungen 199
7.1 LC-Displays 199
7.1.1 Die Hardware 200
7.1.2 Projekt 07_01_LCD 202
7.2 7-Segment-Anzeigen 223
7.2.1 Kein Datenblatt verfügbar? 225
7.2.2 Eine Möglichkeit der Ansteuerung 226
Teil III: Basiskomponenten 237
NVIC, PMC, Clock Generator und SUPC 239
8.1 Allgemeines zu Interrupts 239
8.1.1 Asynchrone Ereignisse 240
8.1.2 Der NVIC – Nested Vector Interrupt Controller 240
8.1.3 Zuordnung der Interrupt-Quellen 244
8.1.4 Tail Chaining 246
8.1.5 CMSIS-Funktionen für den NVIC 247
8.1.6 (Kein) Beispiel 249
8.1.7 Software-Interrupts 251
8.1.8 Tipps und Empfehlungen 252
8.2 Der Clock Generator / Taktgenerator 252
8.2.1 Funktionen des Clock Generators 252
8.3 Der PMC – Power Management Controller 256
8.3.1 Aufgaben des PMC 257
8.3.2 Die Taktsignale des PMC 257
8.3.3 Weitere Informationen zum PMC 259
8.3.4 Ausgewählte Register des PMC 260
8.4 Der SUPC – Supply Controller 264
Parallel Input/Output Controller 265
9.1 Port-Register und -Betriebsarten 265
9.1.1 PIOA, PIOB und PIOC 266
9.1.2 Die Register von PIOA, PIOB und PIOC 269
9.2 Input-Ports in der Praxis 289
9.2.1 Das Projekt 09_01_INPUT_SAMPLE 290
9.2.2 Das Ergebnis 296
Timer und Counter, Teil 1 299
10.1 Real-time Timer RTT 300
10.1.1 Projekt 10_01_RTT 300
10.1.2 Die Register des RTT 313
10.2 RTC – Die Echtzeituhr 314
10.2.1 Das Projekt 10_02_RTC 315
10.2.2 Projekt 10_02_RTC_Advanced 320
10.2.3 Die Register der RTC 339
10.3 Der Watchdog-Timer WDT 344
10.3.1 Projekt 10_03_WDT 345
10.3.2 Register des WDT 352
10.4 Der System-Timer SysTick 353
10.4.1 Grundlegende Funktion 353
10.4.2 Anwendung von SysTick 354
10.4.3 Konfiguration des SysTick 355
10.4.4 Register des System-Timers SysTick 356
10.4.5 SysTick-Interrupt 358
10.5 Abschlussbetrachtung 358
Timer und Counter, Teil 2 359
11.1 Timer/Counter, Grundlagen 360
11.1.1 Einsatzgebiete von Timern und Countern 360
11.1.2 Grundlegende Betrachtungen 361
11.1.3 Triggern der Counter 361
11.2 Timer/Counter programmieren 362
11.2.1 PIO-Controller konfigurieren 362
11.2.2 PMC konfigurieren 365
11.2.3 NVIC konfigurieren 365
11.3 Die Register der Timer/Counter 366
11.3.1 TC- und TC-Channel-Register 366
11.4 Projekt 11_01_TIMER_COUNTER 375
11.4.1 global.h 375
11.4.2 tcWave.h und tcWave.c 376
11.4.3 tcCapture.h und tcCapture.c 383
11.4.4 main.c 385
Teil IV: Weiterführende Komponenten 389
Peripheral DMA Controller (PDC) 391
12.1 Prinzipieller Aufbau 391
12.1.1 Voll-Duplex-fähige Peripherie 392
12.1.2 Halb-Duplex-fähige Peripherie 392
12.1.3 Monodirektionale Peripherie 393
12.1.4 Voll-Duplex- und Halb-Duplex-Kanäle 393
12.1.5 Monodirektionale Kanäle 393
12.2 PDC-Register 393
12.2.1 Receive Pointer Register (PERIPH_RPR) 394
12.2.2 Receive Counter Register (PERIPH_RCR) 394
12.2.3 Transmit Pointer Register (PERIPH_TPR) 394
12.2.4 Transmit Counter Register (P_TCR) 394
12.2.5 Weitere Receive- und Transmit-Register 394
12.2.6 Transfer Control Register (PERIPH_PTCR) 395
12.2.7 Transfer Status Register (PERIPH_PTSR) 395
12.3 Schlussbetrachtung 395
PWM – Pulsweitenmodulation 397
13.1 Was ist Pulsweitenmodulation? 397
13.2 Pulsweitenmodulation – aber wozu? 398
13.3 Der PWMC der AT91SAM3S-Familie 398
13.3.1 Abhängigkeiten des PWMC 399
13.3.2 Die CMSIS-Funktion des PWMC 400
13.3.3 Zuordnung der PWM-Anschlüsse 409
13.4 Projekt 13_01_PWM 410
13.4.1 board_olimex.h 410
13.4.2 pulsewidthmod.h 414
13.4.3 pulsewidthmod.c 414
13.4.4 terminal.c 416
13.4.5 main.c 418
13.5 Drehzahlregelung eines DC-Motors 423
13.5.1 Dimensionierung der Schaltung 423
13.5.2 Drehrichtungswechsel 424
Analoge und digitale Größen 425
14.1 Vereinfachte Grundlagen 425
14.2 DACC – Digital-to-Analog Converter Controller 426
14.2.1 DACC-Register 427
14.2.2 CMSIS-Funktionen zum DACC 429
14.2.3 14_01_DACC_SIGNAL_GENERATOR_WITH_INTERRUPT 430
14.2.4 Hilfsprogramm: 14_02_TABLE_GENERATOR 434
14.3 ACC – Analog Comparator Controller 442
14.3.1 Die Register des ACC 443
14.3.2 CMSIS-Funktionen zum ACC 445
14.3.3 Projekt 14_03_ACC 446
14.4 ADC – Analog-to-Digital Converter 448
14.4.1 Eigenschaften des ADC 448
14.4.2 Die ADC-Register 449
14.4.3 CMSIS-Funktionen des ADC 457
14.4.4 Projekt 14_06_ADC_TS_UND_POTI 458
Teil V: Serielle Kommunikation 475
Serielle Schnittstellen I 477
15.1 Hardware 478
15.1.1 RS-232 (EIA 232) 479
15.1.2 RS-485 481
15.1.3 TWI (I2C) 482
15.1.4 Serial Peripheral Interface (SPI) 482
15.1.5 Synchronous Serial Controller (SSC) 482
15.2 Serielle Schnittstellen der AT91SAM3S-Familie 483
15.2.1 Grundlegende Begriffe 483
15.3 Universal Asynchronous Receiver Transceiver (UART) 489
15.3.1 UART-Eigenschaften beim AT91SAM3S 489
15.3.2 UARTs auf dem Olimex SAM3-P256 489
15.3.3 UART-Register 490
15.3.4 RS232_0 und Retargeting 493
15.4 Universal Synchronous Asynchronous Receiver Transceiver (USART) 496
15.4.1 USART-Eigenschaften beim AT91SAM3S 497
15.4.2 USARTs auf dem Olimex SAM3-P256 498
15.4.3 USART-Register 499
15.5 Two-wire Interface (TWI) 507
15.5.1 TWI-Eigenschaften beim AT91SAM3S 509
15.5.2 TWI auf dem Olimex SAM3-P256 509
15.5.3 TWI-Register 509
Serielle Schnittstellen II 515
16.1 SD Card (stark vereinfacht) 515
16.1.1 Ausführungsformen und Anschlüsse 516
16.1.2 Versorgung und Stromaufnahme 517
16.1.3 Speicherkapazitäten und Zugriffsraten 517
16.2 SD-Karten im SPI-Modus 518
16.2.1 Grundlagen zum SPI 518
16.2.2 Initialisierung des SPI 518
16.2.3 Lesen und Schreiben von Rohdaten 536
16.3 High Speed MultiMedia Card Interface (HSMCI) 538
16.3.1 Merkmale des HSMCI 538
16.3.2 Informationen zu den Protokollen 539
16.3.3 Anschluss eines SD-Kartenslots 540
16.3.4 Die HSMCI-Register 540
16.3.5 Hinweis zur Nutzung des HSMCI 543
16.4 Synchronous Serial Controller (SSC) 543
16.4.1 Merkmale des SSC 544
16.4.2 Die wichtigsten Register des SSC 545
Glossar 547
A.1 Architektur 547
A.2 ARM 547
A.3 ARM-Befehlssatz 547
A.4 Big.LITTLE-Konzept 548
A.5 BSS 548
A.6 CMSIS 548
A.7 Cortex 548
A.8 Debugging 549
A.9 Echtzeit-Betriebssysteme 549
A.10 Embedded Linux 549
A.11 FIFO 550
A.12 Firmware 550
A.13 Heap 550
A.14 JTAG 550
A.15 LIFO 551
A.16 OCD 551
A.17 SAM-BA 551
A.18 Stack 551
A.19 SWD 552
A.20 TDMI 552
A.21 Text-Segment 552
A.22 Thumb-Befehlssatz 553
Ressourcen 555
B.1 Hardware 555
B.1.1 Das Olimex-Board SAM3-P256 555
B.1.2 In-Circuit-Emulatoren 556
B.1.3 Andere Elektronik-Komponenten 556
B.2 Software 556
Literatur 559
C.1 Literatur (Buchversion) 559
C.2 Literatur (Online-Version) 559
C.3 Weitere allgemeine Quellen 561
Erfahrungen 563
D.1 Wechsel der Toolchain 563
D.2 GNU Tools for ARM Embedded Processors 563
D.3 Nochmals: Verwendung der Nano-Libs 564
D.4 Updates von Eclipse und dem CDT 564
D.5 Andere Probleme mit Eclipse und dem CDT 564
D.6 Debugger 565
D.7 Versionsverwaltung 565
Stichwortverzeichnis 566
Einleitung
Bitte lesen Sie diese Einleitung – sie ist wichtig und hilft Ihnen bei der Entscheidung, ob dieses Buch das bietet, was Sie erwarten!
Einführende Bemerkungen
Dieses Buch beschreibt den Einsatz und die Programmierung von ARM-Cortex-M3-Mikrocontrollern am Beispiel des ATMEL AT91SAM3S4B, einem Mitglied der ATMEL-SAM3S-Familie. Dies bedeutet für Sie als Leser, dass die Beispielprojekte unverändert auf AT91SAM3S4B und auf leistungsstärkeren Varianten dieses Mikrocontrollers getestet wurden und dort nutzbar sind. Cortex-M3-Mikrocontroller werden aber nicht nur von ATMEL, sondern auch von vielen anderen Herstellern hergestellt: Zu diesen Herstellern zählen beispielsweise die Firmen NXP Semiconductors (LPC13xx, LPC17xx, LPC18xx), Texas Instruments (C2000-, Tiva- oder Hercules-Familie) oder STMicroelectronics mit ihren sehr beliebten und weitverbreiteten STM32-Mikrocontrollern.
Hinweis
Die Mikrocontroller der verschiedenen Hersteller unterscheiden sich teilweise erheblich voneinander, sodass die Beispielprojekte zu diesem Buch auf den Mikrocontrollern anderer Hersteller erst nach Modifikationen funktionieren werden! Um den Portierungsaufwand für die Projekte so gering wie möglich und überschaubar zu halten, habe ich die Software für die verwendeten Peripheriegeräte in eigenständige Dateien ausgelagert.
Die Mikrocontroller unterscheiden sich unter anderem in der Ausstattung mit Peripheriekomponenten: So verfügt beispielsweise der hier eingesetzte AT91SAM3S4B über zwei USARTs, zwei UARTs und über jeweils einen DAC bzw. ADC. Andere Hersteller können hier andere Schwerpunkte gesetzt haben und beispielsweise CAN-Controller integriert haben. Dies bedeutet, dass es nicht möglich ist, in einem Buch auf alle denkbaren Varianten einzugehen. Um beim Beispiel »USART« zu bleiben: Jeder der genannten (und auch weiterer) Hersteller ist in der Wahl des integrierten USART frei. Da hier ebenfalls eine schwer überschaubare Vielfalt existiert, werden sich die USARTs der Hersteller in der Zahl und in der Programmierung der verschiedenen Register mit großer Sicherheit voneinander unterscheiden. Eine 1:1-Umsetzung der Beispiele ist aus einem weiteren Grund nicht möglich: Verwendet ATMEL zur Programmierung von GPIO-Ports beispielsweise ein Register mit dem Namen »PIO_OER« (PIO Output Enable Register), so könnte das Register mit einer entsprechenden Funktion bei NXP »PINSEL« (Abkürzung für Pin Select Register) heißen. Auf jeden Fall wird sich aber die Adresse, unter der die betrachtete Komponente im adressierbaren Speicherraum angesprochen wird, unterscheiden. Das PIOA_OER-Register des AT91SAM3S4B wird beispielsweise unter der Adresse 0x400E0E10U angesprochen: Bei einem Mikrocontroller von NXP, STMicroelectronics oder Texas Instruments wird die vergleichbare Komponente mit Sicherheit unter einer anderen Adresse angesprochen werden.
Aufgrund der Vielfalt der Hersteller und den sehr großen jeweiligen Produktpaletten ist es gar nicht möglich, das ultimative und für alle Anwendungen im gleichen Maße nutzbare »ARM-Cortex-M3«-Buch zu schreiben! Um ihre Produkte für Anwender interessant und möglichst einfach nutzbar zu machen, stellt jeder Hersteller umfangreiche Software-Bibliotheken im Quelltext zur Verfügung, die kostenlos auch in kommerziellen Produkten genutzt werden können.
Hinweis
Damit dieses Buch aber auch für Anwender der Mikrocontroller anderer Hersteller interessant ist, habe ich großen Wert darauf gelegt, Sie in der Nutzung des Datenblatts zur AT91SAM3S-Familie zu trainieren: Die Datenblätter unterscheiden sich in ihrem Aufbau nur sehr geringfügig. Während ATMEL die gesamte Familie mitsamt einer ausführlichen Registerbeschreibung und Darlegung der physischen Daten in einem einzigen Dokument zusammenfasst, werden Sie bei STMicroelectronics im Regelfall drei Einzeldokumente finden (ein Datenblatt mit den physischen Daten, ein Referenz-Handbuch und ein Programmierhandbuch): In ihrem Informationsgehalt entsprechen diese drei Dokumente aber dem einen Datasheet von ATMEL!
Zielgruppe und Voraussetzungen
Dieses Buch wendet sich an Ingenieure, Studenten technischer Fachrichtungen und Hobby-Elektroniker, die sich erstmals mit der Programmierung von Mikrocontrollern befassen oder veraltete Kenntnisse auffrischen wollen. Dabei werden mindestens durchschnittliche Kenntnisse in der Programmierung in der Programmiersprache C vorausgesetzt: Dieses Buch ist, obwohl sämtliche Beispiele in C entwickelt wurden, kein Lehrbuch für diese Programmiersprache. Obwohl ich mich bemüht habe, die Beispiele in »verständlichem« C zu schreiben, und daher auf die »wildesten Tricks«, die in C möglich sind, verzichtet habe, ist dieses Buch definitiv nicht zum Erlernen von C geeignet!
Ebenfalls vorausgesetzt werden Basiskenntnisse der Elektrotechnik, wobei die Anforderungen hier aber wesentlich niedriger angesetzt sind (die Kenntnis des ohmschen Gesetzes und der kirchhoffschen Regeln reicht aus). Wer als Elektronik-Bastler weiß, dass man einen heißen Lötkolben nicht an seiner Spitze anfassen sollte, hat gute Chancen, dieses Buch sinnvoll zu nutzen. Die Dimensionierung einfacher Transistorschaltungen wird in den entsprechenden Kapiteln in dem Maße kurz erläutert, wie es zum Verständnis erforderlich ist. Auf weiterführende Literatur kann natürlich zugegriffen werden, erforderlich ist dies aber nicht.
Wenn Sie die höhere Mathematik mit Differenzial- und Integralrechnung inkl. Differenzialgleichungen verstehen: Herzlichen Glückwunsch! In diesem Buch reicht es aber aus, wenn Sie die vier Grundrechenarten beherrschen. In Kapitel 14 werden Sinus- und Exponentialfunktionen genutzt. Verständnis hierfür ist hilfreich, aber keine zwingende Voraussetzung.
Sie sollten aber mittlere bis gute Kenntnisse der englischen Sprache besitzen. Sehr häufig wird auf Datenblätter zu den verschiedenen eingesetzten Komponenten verwiesen, und diese Datenblätter sind fast ausschließlich in englischer Sprache verfügbar. Das Datenblatt zum in diesem Buch beschriebenen Mikrocontroller ATMEL AT91SAM3S4B ist beispielsweise nur in englischer Sprache verfügbar. In Ausnahmefällen existieren für ausgewählte Komponenten auch japanische oder chinesische Versionen der Datenblätter, andere Sprachen werden aber nicht auffindbar sein.
Technische Voraussetzungen
Auf die technischen Voraussetzungen soll an dieser Stelle nicht detailliert eingegangen werden, da diese in Kapitel 1 ausführlich beschrieben sind. Grob zusammengefasst benötigen Sie folgende Hard- und Software:
-
Zwingend erforderlich ist ein sogenanntes Evaluierungsboard mit dem ATMEL-AT91SAM3S4B-Mikrocontroller. Aus Kostengründen und aus Gründen der leichten Beschaffbarkeit habe ich mich für das Olimex-Board SAM3-P256 entschieden.
-
Es ist hilfreich, wenn Ihnen zumindest ein handelsübliches Messgerät zum Messen von Spannungen, Strömen und Widerständen zur Verfügung steht. Dies ist aber nicht zwingend erforderlich.
Hinweis
Wenn Sie bereits ein anderes Evaluierungsboard besitzen oder aus persönlichen Gründen einen Mikrocontroller eines anderen Herstellers einsetzen wollen oder müssen: Kein Problem! Allerdings müssen die Beispielprojekte in einem solchen Fall mit großer Sicherheit portiert werden. Wenn Sie diesen Hinweis nur beim »Überfliegen« dieser Einleitung in einer Buchhandlung gefunden haben, empfehle ich Ihnen dringend, den Unterpunkt e.1 dieses Kapitels ebenfalls zu lesen!
-
Ebenfalls hilfreich ist es, wenn Sie Zugriff auf ein digitales Speicheroszilloskop haben. Ob es sich hierbei um ein eigenständiges Gerät oder um eine Softwarelösung handelt, spielt keine Rolle. Die Verfügbarkeit eines solchen (in der Regel sehr teuren) Messgerätes ist aber auch nicht zwingend erforderlich: Dort, wo es wichtig ist, bietet das Buch Fotografien von Oszillogrammen.
-
Sehr zu empfehlen ist die Anschaffung eines sogenannten In-Circuit-Emulators (ICE). Eine solche Hardware unterstützt das Debuggen von Programmen erheblich. Es ist zwar ebenfalls möglich, Ausgaben der Programme über die serielle Schnittstelle in einem Terminal-Emulator (unter Windows z.B. putty oder TeraTerm) anzuzeigen: Auf Dauer ist dies aber unpraktisch und umständlich!
Weitere Empfehlungen und Hinweise
Um den größtmöglichen Nutzen aus diesem Buch ziehen zu können, sollten Sie zusätzliche Ausgaben von zunächst ungefähr 50 bis 150 Euro einkalkulieren. Die Höhe der Aufwendungen richtet sich nach Ihren besonderen Interessengebieten. Sie sind beispielsweise nicht dazu gezwungen, sämtliche Kapitel dieses Buches durchzuarbeiten: Welche Kapitel für Sie von Bedeutung sind und welche nicht, hängt von Ihren persönlichen Anforderungen ab. Um die Kosten so gering wie möglich zu halten, habe ich mich in den Beispielprojekten auf Komponenten beschränkt, deren Beschaffung mit weniger als 10 Euro zu Buche schlägt.
Ergänzende Literatur zu diesem Buch finden Sie in Form von...
Erscheint lt. Verlag | 23.4.2014 |
---|---|
Reihe/Serie | mitp Professional |
Verlagsort | Frechen |
Sprache | deutsch |
Themenwelt | Informatik ► Weitere Themen ► Hardware |
Schlagworte | Analog-Umsetzung • ARM Cortex-M3 • AT91SAM3S4B • Atmel • Betriebssystem • Counter • Digital-Wandlung • Eclipse • Elektronik • Elektrotechnik • GNU-Debugger • GNU Toolchain • Hardware • I2C • Ingenieurwesen • Integrierter Schaltkreis • Interface • LC-Displays • Mikrocontroller • Mikroprozessor • MSI • NVIC • pdc • Peripheral DMA Controller • Peripherie • PIO • PMC • Programmiersprache • Pulsweitenmodulation • Real Time Clock • Schnittstelle • Serielle Kommunikation • SPI • Supply Controller • Timer • Transistor |
ISBN-10 | 3-8266-9600-X / 382669600X |
ISBN-13 | 978-3-8266-9600-8 / 9783826696008 |
Haben Sie eine Frage zum Produkt? |
Größe: 13,4 MB
Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopierschutz. Eine Weitergabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persönlichen Nutzung erwerben.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
Größe: 5,5 MB
Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopierschutz. Eine Weitergabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persönlichen Nutzung erwerben.
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich