AVR-GCC-Tutorial

发布: 2009-6-15 12:28 | 作者: caolong | 来源: StmFans思蜕盟 OPELC 自由电子联盟

AVR-GCC-Tutorial
    * 1 Vorwort
    * 2 Benötigte Werkzeuge
    * 3 Was tun, wenn's nicht "klappt"?
    * 4 Erzeugen von Maschinencode
    * 5 Einführungsbeispiel
    * 6 Exkurs: Makefiles
          o 6.1 Controllertyp setzen
          o 6.2 Quellcode-Dateien eintragen
          o 6.3 Programmiergerät einstellen
          o 6.4 Anwendung
          o 6.5 Sonstige Einstellungen
                + 6.5.1 Optimierungsgrad
                + 6.5.2 Debug-Format
                + 6.5.3 Assembler-Dateien
                + 6.5.4 Taktfrequenz
          o 6.6 Eingabedateien zur Simulation in AVR-Studio
    * 7 Ganzzahlige (Integer) Datentypen
    * 8 Bitfelder
    * 9 Grundsätzlicher Programmaufbau eines µC-Programms
          o 9.1 Sequentieller Programmablauf
          o 9.2 Interruptgesteuerter Programmablauf
    * 10 Zugriff auf Register
          o 10.1 Schreiben in Register
          o 10.2 Verändern von Registerinhalten
          o 10.3 Lesen aus Registern
          o 10.4 Warten auf einen bestimmten Zustand
          o 10.5 16-Bit Register (ADC, ICR1, OCR1, TCNT1, UBRR)
          o 10.6 IO-Register als Parameter und Variablen
    * 11 Zugriff auf IO-Ports
          o 11.1 Datenrichtung bestimmen
          o 11.2 Vordefinierte Bitnummern für I/O-Register
          o 11.3 Digitale Signale
          o 11.4 Ausgänge
          o 11.5 Eingänge (Wie kommen Signale in den µC)
                + 11.5.1 Signalkopplung
                + 11.5.2 Interne Pull-Up Widerstände
                + 11.5.3 Tasten und Schalter
                      # 11.5.3.1 (Tasten-)Entprellung
    * 12 Der UART
          o 12.1 Allgemeines zum UART
          o 12.2 Die Hardware
          o 12.3 UART initialisieren
          o 12.4 Senden mit dem UART
                + 12.4.1 Senden einzelner Zeichen
                + 12.4.2 Schreiben einer Zeichenkette (String)
                + 12.4.3 Schreiben von Variableninhalten
          o 12.5 Empfangen
                + 12.5.1 einzelne Zeichen empfangen
                + 12.5.2 Empfang von Zeichenketten (Strings)
          o 12.6 Interruptbetrieb
          o 12.7 Software-UART
          o 12.8 Handshaking
                + 12.8.1 Hardwarehandshake (RTS/CTS)
                + 12.8.2 Softwarehandshake (XON/XOFF)
          o 12.9 Fehlersuche
          o 12.10 Links
    * 13 Analoge Ein- und Ausgabe
          o 13.1 AC (Analog Comparator)
          o 13.2 ADC (Analog Digital Converter)
                + 13.2.1 Der interne ADC im AVR
                      # 13.2.1.1 Die Register des ADC
                      # 13.2.1.2 Aktivieren des ADC
                + 13.2.2 Analog-Digital-Wandlung ohne internen ADC
                      # 13.2.2.1 Messen eines Widerstandes
                      # 13.2.2.2 ADC über Komparator
          o 13.3 DAC (Digital Analog Converter)
                + 13.3.1 DAC über mehrere digitale Ausgänge
                + 13.3.2 PWM (Pulsweitenmodulation)
    * 14 LCD-Ansteuerung
          o 14.1 Das LCD und sein Controller
          o 14.2 Anschluss an den Controller
          o 14.3 Programmierung
    * 15 Die Timer/Counter des AVR
          o 15.1 Der Vorteiler (Prescaler)
          o 15.2 8-Bit Timer/Counter
          o 15.3 Timer-Bitzahlen verschiedener AVR's
          o 15.4 16-Bit Timer/Counter
                + 15.4.1 Die PWM-Betriebsart
                + 15.4.2 Vergleichswert-Überprüfung (Compare Match)
                + 15.4.3 CTC-Betriebsart (Clear Timer on Compare Match)
                + 15.4.4 Einfangen eines Eingangssignals (Input Capturing)
          o 15.5 Gemeinsame Register
    * 16 Warteschleifen (delay.h)
          o 16.1 avr-libc Versionen kleiner 1.6
          o 16.2 avr-libc Versionen ab 1.6
    * 17 Der Watchdog
          o 17.1 Wie funktioniert nun der Watchdog?
          o 17.2 Watchdog-Anwendungshinweise
    * 18 Programmieren mit Interrupts
          o 18.1 Anforderungen an Interrupt-Routinen
          o 18.2 Interrupt-Quellen
          o 18.3 Register
          o 18.4 Allgemeines über die Interrupt-Abarbeitung
          o 18.5 Interrupts mit dem AVR GCC Compiler (WinAVR)
                + 18.5.1 ISR
                + 18.5.2 Unterbrechbare Interruptroutinen
          o 18.6 Datenaustausch mit Interrupt-Routinen
                + 18.6.1 volatile und Pointer
                + 18.6.2 Variablen größer 1 Byte
          o 18.7 Interrupt-Routinen und Registerzugriffe
          o 18.8 Was macht das Hauptprogramm?
    * 19 Sleep-Modes
    * 20 Speicherzugriffe
          o 20.1 RAM
          o 20.2 Programmspeicher (Flash)
                + 20.2.1 Byte lesen
                + 20.2.2 Wort lesen
                + 20.2.3 Strings lesen
                + 20.2.4 Floats und Structs lesen
                + 20.2.5 Array aus Strings im Flash-Speicher
                + 20.2.6 Vereinfachung für Zeichenketten (Strings) im Flash
                + 20.2.7 Flash in der Anwendung schreiben
                + 20.2.8 Warum so kompliziert?
          o 20.3 EEPROM
                + 20.3.1 Bytes lesen/schreiben
                + 20.3.2 Wort lesen/schreiben
                + 20.3.3 Block lesen/schreiben
                + 20.3.4 EEPROM-Speicherabbild in .eep-Datei
                + 20.3.5 EEPROM-Variable auf feste Adressen legen
                + 20.3.6 Bekannte Probleme bei den EEPROM-Funktionen
                + 20.3.7 EEPROM Register
    * 21 Die Nutzung von sprintf und printf
    * 22 Assembler und Inline-Assembler
          o 22.1 Inline-Assembler
          o 22.2 Assembler-Dateien
          o 22.3 Globale Variablen für Datenaustausch
                + 22.3.1 Globale Variablen im Assemblerfile anlegen
                + 22.3.2 Variablen größer als 1 Byte
    * 23 Anhang
          o 23.1 Besonderheiten bei der Anpassung bestehenden Quellcodes
                + 23.1.1 Veraltete Funktionen zur Deklaration von Interrupt-Routinen
                + 23.1.2 Veraltete Funktionen zum Portzugriff
                + 23.1.3 Veraltete Funktionen zum Zugriff auf Bits in Registern
                + 23.1.4 Selbstdefinierte (nicht-standardisierte) ganzzahlige Datentypen
          o 23.2 Zusätzliche Funktionen im Makefile
                + 23.2.1 Bibliotheken (Libraries/.a-Dateien) hinzufügen
                + 23.2.2 Fuse-Bits
          o 23.3 Externe Referenzspannung des internen Analog-Digital-Wandlers
    * 24 TODO

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial


AVR-GCC-Tutorial:

AVR-GCC-Tutorial_-_www_mikrocontroller_net.pdf
(2009-06-15 12:28:34, Size: 615 KB, Downloads: 2)

()