• EOL

C-Sprache für AVR-Mikrocontroller. Von Grund auf bis zu fortgeschrittenen Anwendungen - Tomasz Francuz

Index: KSZ-02060

Verlag: Helion. Das Buch ist eines der wenigen Bücher in polnischer Sprache, das die Anwendung der C-Sprache zur Programmierung von AVR-Mikrocontrollern beschreibt.

C-Sprache für AVR-Mikrocontroller. Von Grund auf bis zu fortgeschrittenen Anwendungen - Tomasz...
20,29 €
19,33 € zzgl. MwSt.
Nicht zugänglich
Auslaufprodukt
PayPal Bezahlung
Hersteller: Helion

Warnung!

Das Buch wurde durch eine Neuauflage ersetzt.

Produktbeschreibung: C-Sprache für AVR-Mikrocontroller. Von Grund auf bis zu fortgeschrittenen Anwendungen - Tomasz Francuz

Das Buch ist eines der wenigen Bücher in polnischer Sprache, das die Verwendung der C-Sprache für die Programmierung von AVR-Mikrocontrollern beschreibt. Der Leser lernt von Grund auf, was die Unterschiede zwischen der Programmierung in C von PC-Computern und Mikrocontrollern sind. Erlernt die Geheimnisse der Programmierung von Peripheriegeräten, die in AVR-Systemen verfügbar sind. Macht sich auch mit der Standardbibliothek und ihrer Erweiterung (AVR-libc) vertraut

In den folgenden Kapiteln werden fortgeschrittenere Programmiertechniken vorgestellt, die auf Bootloader-Betrieb, Anwendungssicherheit und -verschlüsselung oder der Implementierung allgemein bekannter Protokolle für den Datenaustausch zwischen Computern und Geräten auf der Basis von Mikrocontrollern basieren. Im letzten Teil des Buches kann der Leser über die Besonderheiten der Erstellung von Anwendungen und der Suche und Behebung von Fehlern in Programmen lesen.

Lesen beschreibt klar Themen wie:

  • AVR-Entwicklerworkshop
  • Einführung in die Sprache C für AVR
  • Aufbau des Programms und seiner Bestandteile
  • Verwendung von Hardware-Ressourcen des Mikrocontrollers
  • Verwendung von Registern und Speicher
  • ADC-Anwendungen
  • Unterstützung für LCD-Displays
  • Nutzung von Kommunikationsschnittstellen
  • Gewährleistung der Codesicherheit

In unserem Shop finden Sie AVR Mikrocontroller , Module und Programmierer .

Im Buch verwendete Beispielprojekte stehen zum Download zur Verfügung . Ein Auszug aus dem Buch zum Online-Lesen .

Inhalt

Einführung (11)

  • Beispielcodes (12)
  • Diagramme (12)
  • Erforderliche Teile (12)

Kapitel 1. Installieren der Umgebung und der erforderlichen Tools (15)

  • Installation von WinAVR (16)
  • Installation von AVR Studio (17)
  • GNU / Linux-Systeme (18)
  • AVR-Studio (19)
    • Erstanwendung (21)
    • Dateien zu einem Projekt hinzufügen (25)
  • Dienstprogramme (27)
    • Linker (27)
    • AVR-Größe (31)
    • Das avr-nm-Programm (32)
    • Avr-Objektkopie
    • Das Make-Programm (36)
    • Ergebnisdateien (43)
  • Bibliotheken (46)
    • Bibliotheksdesign (47)
    • Bibliothekserstellung (48)
    • Einbinden einer Bibliothek in ein Programm (49)
    • Veraltete Funktionen (50)
    • Bibliotheksfunktionen überschreiben (50)
    • Löschen unnötiger Funktionen und Daten 51

Kapitel 2. Programmierung des Mikrocontrollers (53)

  • Anschluss - allgemeine Bemerkungen (53)
    • Probleme (55)
  • ISP-Programmierer (55)
    • Programmiererstruktur (56)
    • USBASP-Programmierer (59)
    • Mehrere Prozessoren in einem Chip (59)
  • JTAG-Programmierer (60)
    • JTAGICE Programmierer (61)
    • JTAGICE mkII Programmierer (62)
    • Mehrere Prozessoren in einem Chip (62)
    • AVR-Drache (63)
  • HW- und Parallelprogrammierer (63)
  • TPI-Modus (64)
  • Programmieren des Prozessors in AVR Studio (64)
  • Programmierung mit Tools von Atmel (65)
  • AVRDUDE-Programm (67)
  • PonyProg-Programm (70)
  • Fusebits und Lockbits in AVR-libc (70)
    • Lockbits (71)
    • Sicherungen (71)
  • Unterschrift (74)
  • Lockbits in AVR-libc (74)
  • Sicherungen in AVR-libc (75)

Kapitel 3. C Grundlagen zu AVR

  • Arithmetik (77)
    • Einfache Datentypen
    • Festpunktarithmetik (81)
    • Gleitkomma-Arithmetik (87)
  • Bitweise Operationen
    • Binäre Darstellung von Zahlen 95
    • Die Bitproduktoperation 96
    • Bitsummenoperation 97
    • Ohne Summenoperation 98
    • Die bitweise Negationsoperation 99
    • Bitverschiebungsoperationen (100)
  • Variabler Umfang (100)
    • Globale Variablen 101
    • Lokale Variablen 102
    • Const-Modifikator 103
    • Blinker (104)
    • Arrays (109)
  • Eigenschaften (112)
    • Übergabe von Parametern nach Wert und Referenz 114
    • Funktionsaufruf (114)
    • Rekursive Funktionsaufrufe
  • Schlüsselwörter (116)
    • Betreiber
    • Steueranweisungen (120)
  • Der Präprozessor (123)
    • Die #include-Richtlinie 124
    • Bedingte Kompilierungsanweisungen
    • Die #define-Direktive 126
  • Header- und Quelldateien (127)
    • Definition versus Deklaration
    • Das statische Schlüsselwort 129
    • Das Schlüsselwort extern (130)
    • Die Inline-Richtlinie 132
    • Registermodifikator (136)

Kapitel 4. Programmabschnitte 141

  • Datenabschnitte (142)
    • .Textabschnitt 142
    • .Datenabschnitt 142
    • .Bss Abschnitt 143
    • .Eeprom Abschnitt 143
  • Programmcodeabschnitte (144)
    • .Init Unterabschnitte [0-9] (144)
    • .Fini Unterabschnitte [0-9] (145)
  • Sondersektionen (146)
  • Vom Entwickler erstellte Abschnitte
  • Abschnitte an einer bestimmten Adresse platzieren (147)

Kapitel 5. Kernsteuerung und Energieverwaltung (149)

  • RESET-Signalquellen (149)
    • Einschalt-Reset (150)
    • Externes RESET-Signal (151)
    • Brownout-Detektor (151)
    • Watchdog-Schaltung (152)
  • Stromverbrauchsmanagement (156)
    • Prozessorruhe (157)
    • BOD deaktivieren (157)
    • Deaktivieren von CPU-Subsystemen
    • Uhrenvorzähler (159)
    • Andere Möglichkeiten zur Minimierung des Energieverbrauchs 160

Kapitel 6. Dynamische Speicherzuweisung 163

  • Speicherzuweisung in der AVR-libc-Bibliothek 164
    • Die malloc-Funktion 166
    • Die Calloc-Funktion 166
    • Die Realloc-Funktion 166
    • Die freie Funktion (168)
  • Speicherlecks und Missbrauch von dynamisch zugewiesenem Speicher
  • Wie ein Allokator funktioniert 171
  • Heap- und Stack-Kollisionen erkennen 172
    • Methode I - Benutzerdefinierte Speicherzuweisungsfunktionen 173
    • Methode II - Überprüfen des verfügbaren Speichers 173
    • Methode III - Marker (173)
    • Methode IV - Erinnerungsmuster (173)
    • Die V-Methode - Verwenden der JTAG-Schnittstelle 176

Kapitel 7. Onboard-EEPROM (177)

  • Verhinderung von EEPROM-Korruption (178)
  • EEPROM Lese- und Schreibsteuerung (179)
    • Lesen des Inhalts einer Speicherzelle (180)
    • Schreiben auf Speicherplatz (180)
  • Zugriff auf EEPROM von AVR-libc (181)
    • Datendeklarationen im EEPROM (182)
    • Funktionen, die auf EEPROM zugreifen (183)
    • Andere Funktionen, die auf EEPROM arbeiten
  • Wear-Leveling-Techniken (186)

Kapitel 8. Zugreifen auf den FLASH-Speicher 189

  • Datentypen in Bezug auf FLASH-Speicher 190
  • Daten aus FLASH-Speicher lesen (191)
  • Zugriff auf FLASH-Speicher ᡸ kB (192)

Kapitel 9. Die XMEM-Schnittstelle 193

  • Verwenden von externem SRAM in einem Programm (197)
    • Konfiguration I - es gibt nur einen speziellen Abschnitt im externen Speicher (198)
    • Konfiguration II - alle Abschnitte im externen Speicher, Stack im internen Speicher (199)
    • Konfiguration III - nur ein Heap befindet sich im externen Speicher (201)
    • Konfiguration IV - in externem Speicherhaufen und Segment definiert durch Programmierer (202)
    • V-Konfiguration - es gibt einen Stack im externen Speicher (208)
    • ROM als externer Speicher (208)

Kapitel 10. Zugriff auf 16-Bit-IO-Register (211)

  • Zugriff auf das 16-Bit-ADC-Register (211)
  • Zugriff auf 16-Bit-Timer-Register (213)

Kapitel 11. Verzögerungen (217)

Kapitel 12. Zugriff auf Prozessor-IO-Ports 221

  • IO-Pin-Konfiguration (221)
  • Manipulation des IO-Pin-Zustands (225)
    • Ändern des Status eines Ports in das Gegenteil
    • Einstellen der IO-Leitung (226)
    • Zurücksetzen der IO-Leitung 226
    • Makrodefinition _BV () 227
    • Verwenden von Bitfeldern 227
  • Synchronisierer (228)
  • Praxisbeispiele 230
    • Steuerung der 7-Segment-Anzeige (230)
    • Tastenanschluss (232)
    • Drehgeber (237)
    • Matrix-Tastatur (242)

Kapitel 13. Allzweck-IO-Register

  • Verwendung anderer Register als GPIOR 246

Kapitel 14. Unterbrechungen 249

  • Interrupt-Behandlung
    • sei () / cli () (254)
    • Das nackte Attribut und die Unterbrechungsbehandlung in der Assemblierung
    • Der flüchtige Modifikator 257
    • Die Atomarität des Datenzugriffs
    • Die Reentrant-Funktionen 266
  • Praxisbeispiele (268)
    • Multiplexanzeige (268)
    • Multiplex-Display mit Display-Helligkeitssteuerung (272)
    • Tastenbedienung (276)
    • Encoder-Unterstützung (279)
    • Matrix-Tastatur (280)

Kapitel 15. Analog-Digital-Wandler (283)

  • Referenzspannungsauswahl (284)
  • Multiplexer (285)
  • ADC-Wandler (285)
    • Einzelumwandlungsmodus 286
    • Kontinuierlicher Konvertierungsmodus 287
  • Einzel- und Differenzeingänge (287)
  • Ergebnis (288)
  • Auslöser (288)
  • Blockieren digitaler Eingänge (289)
  • ADC unterbricht (289)
  • Präzise Messungen mit ADC (290)
  • Oversampling (291)
    • Mittelung (292)
    • Dezimierung und Interpolation 292
  • Beispiele (292)
    • Analoges Thermometer LM35 (293)
    • Schlüssel (295)

Kapitel 16. Der analoge Komparator 301

  • Zusatzfunktionen (302)
    • Stiftverriegelung (302)
    • Auslösen von Timer-Ereignissen (302)
    • Auswahl des Komparatoreingangs (302)
    • ADC-Triggerung (303)

Kapitel 17. Zeitgeber (305)

  • Taktsignal (306)
    • Internes Taktsignal (306)
    • Externes Taktsignal (308)
  • Zähler (308)
  • Datenvergleichssystem 309
    • Beeinflusst die IO-Pins 309
  • Externer Ereignis-Interceptor (310)
    • Geräuschunterdrückung (311)
    • Ein Komparator als Trigger für ein ICP-Ereignis
  • Timer-Modi (312)
    • Einfacher Modus (312)
    • CTC-Modus (315)
    • PWM-Modi (316)
    • Schutzschaltung (321)
    • Ausgangssignalmodulator (322)
  • Frequenz- und Tastmesser (323)
  • Ausführen von RTC mit einem Timer (326)
    • Hardwarerealisierung (327)
    • Programmausführung (328)

Kapitel 18. Handhabung von LCDs (331)

  • Unterstützung für alphanumerische Anzeigen (332)
    • Bibliotheksfunktionen 337
    • Eigene Charaktere definieren 342
    • Beispiel - Menü (345)
  • Grafikdisplay-Unterstützung (354)

Kapitel 19. Die USART-Schnittstelle 367

  • Serielle Schnittstellen (367)
  • USART-Schnittstelle (368)
    • USART-Schnittstelle des AVR-Mikrocontrollers (371)
  • Beispiele (375)
    • Mikrocontroller - PC-Anbindung (375)
    • RS485 (383)

Kapitel 20. Die SPI-Schnittstelle 391

  • Schnittstelleninitialisierung
    • IO-Pin-Einstellung (395)
    • Uhr (396)
    • Prozessor im Master-SPI-Modus (396)
    • Prozessor im SPI-Slave-Modus (397)
  • Beispiele (397)
    • AVR-AVR-Verbindung (397)
    • AVR-Verbindung – Serielles Register (403)
  • USART-Schnittstelle im SPI-Modus (408)
    • Timing des SPI-Busses (409)
    • SPI-Modus (409)
    • Datenrahmenformat (409)
    • Schnittstellenkonfiguration (410)

Kapitel 21. Die TWI-Schnittstelle (413)

  • Multimaster-Modus (416)
  • Schnittstelleninitialisierung 417
  • Prozessor im I2C-Mastermodus (417)
    • START- und STOP-Bits (417)
    • Basisfunktionen für die Zusammenarbeit mit I2C (418)
    • Zusammenarbeit mit externem EEPROM-Speicher (422)
    • Zusammenarbeit mit externem FRAM-Speicher (427)
    • Variablen im externen EEPROM speichern (427)
    • Zusammenarbeit mit der RTC-Uhr (431)
    • Unterstützt IO-Expander PCF8574 (436)
  • Prozessor im I2C-Slave-Modus (437)
    • Beispiel (440)

Kapitel 22 Die USI-Schnittstelle 447

  • Der 4-Bit-Zähler und die Uhr 447
  • USI-Interrupts
  • Änderung der Stiftposition (449)
  • Verwendung der USI-Schnittstelle im SPI-Modus 449
    • SPI-Mastermodus (451)
    • SPI-Slave-Modus (452)

Kapitel 23. Die USB-Schnittstelle 453

  • Leistung (454)
  • Datensignale (455)
  • VID und PID (456)
  • USB-Schnittstelle realisiert mittels Konverter (458)
  • Softwareimplementierte USB-Schnittstelle (459)
    • Elektrischer Anschluss (460)
    • Zugriff auf PC (460)
    • Software-USB-zu-AVR-Schnittstelle (461)
  • Hardware-USB-Schnittstelle (464)

Kapitel 24: Die 1-Wire-Schnittstelle 465

  • 1-Wire-Master-Implementierung auf AVR (469)
    • 1-Wire-Master-Implementierung mit IO-Pins (469)
    • 1-Wire-Master-Implementierung unter Verwendung der USART-Schnittstelle (472)
    • High-Level-1-Wire-Handling-Funktionen 477
  • Digitalthermometer DS1820 (480)

Kapitel 25 Der Bootloader 483

  • NRWW- und RWW-Erinnerungen (483)
  • Bootloader-Konfigurationsbits (485)
    • Lockbits-Konfiguration aus der Anwendung (486)
  • FLASH-Speicherprogrammierung (487)
  • Verwenden von Interrupts im Bootloader-Code 489
    • Löschen einer Interrupt-Vektortabelle
    • Abschneiden der Unterbrechungsvektortabelle
  • Bootloader booten (496)
    • Verwendung eines zusätzlichen Tasters / Jumpers (496)
    • Verwenden von Markern im EEPROM (497)
    • Warten auf ein Sonderzeichen im ausgewählten Kommunikationskanal (498)
    • Bewerbungsstart (499)
  • Anwendungscode und Bootloader teilen (499)
    • Aufrufen von Bootloader-Funktionen auf ATMega256x (501)-Prozessoren
    • Aufruf von im Bootloader-Code enthaltenen Interrupt-Handlern (505)
    • Gemeinsame Nutzung von Variablen zwischen Anwendung und Bootloader (505)
  • AVR-Mikrocontroller mit eingebettetem Bootloader (507)

Kapitel 26 Programmintegrität prüfen 509

  • Prüfsumme (509)
  • CRC (511)
  • Automatische CRC-Generierung

Kapitel 27. Codesicherheit (517)

  • Methoden der Sicherheitsverletzung 517
  • Anwendungen sicher aktualisieren (518)
  • Hinweis AVR231 - AES-Bootloader (519)
    • Setzen der Konfigurationsbits (524)
    • Bewerbungsvorbereitung (526)
    • Update laden (527)

Kapitel 28. Kombinieren von C und Assemblercode 529

  • Das Schlüsselwort asm (530)
    • Arten von Operanden
    • Zugriff auf IO-Ports (533)
    • Zugriff auf Multibyte-Daten
    • Zugriff auf Indikatoren (534)
    • Liste der modifizierten Register (535)
    • Assemblerspracheneinfügung 535 wiederverwenden
  • .S-Dateien
    • Verwenden von Registern in Assembly
    • Beispiele (541)

Kapitel 29. Optimieren und Debuggen eines Programmrezepts

  • Optimierung eines Programms
    • Compiler-Optionen zur Optimierung
    • Optimierungsattribute
  • Debuggen eines Programms
    • Starten einer Debugger-Sitzung 553
    • Erweiterte Kontrolle über den Verlauf der ausgeführten Anwendung (556)

Index (559)

 

Buch - Autor Tomasz der Franzose
Buch - ISBN 978-83-246-3064-6
Buch - Bindung Sanft
Buchverleger Helion
PAKETBREITE 0.001 cm
PAKETHÖHE 0.001 cm
PAKETTIEFE 0.001 cm
PAKETGEWICHT 0.001 kg

Seien Sie der Erste, der eine Frage zu diesem Produkt stellt!

Kunden, die diesen Artikel gekauft haben, kauften auch:

Produkte aus der gleichen Kategorie: