Difference between revisions of "AVR Embedded Tutorials/de"

From Free Pascal wiki
Jump to navigationJump to search
m
m (→‎Siehe auch: bypass redirect following move)
 
(78 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Tutorial zur Programmierung von AVR-Mikrocontrollern ATmega und ATtiny mit dem FreePascal-Compiler. In den Beispielen wird als Hardware ein Arduino Uno mit Atmega328 verwendet. Die Vorgehensweise ist auf alle AVR übertragbar.
+
{{LanguageBar}}
  
== Cross-Compiler/IDE ==
+
=AVR Embedded Tutorials=
Erstellen des Cross-Compilers und Einrichten der IDE:<br />
 
*[[Einstieg Lazarus und Arduino/de|Einstieg Lazarus und Arduino ( Uno/Nano )]] - Wie richte ich Lazarus ein, um einen Arduino zu programmieren (AVR - Crosscompiler).
 
*[[Lazarus für ATmega und ATTiny einrichten/de|Lazarus für ATtiny und ATmega einrichten]]
 
  
== Programmierung ==
+
Tutorial zur Programmierung von AVR-Mikrocontrollern mit FPC und Lazarus. Dies betrifft diverse ATtiny, ATmega. Die Beispiele laufen die meisten auch auf Arduino mit ATmega. Vor allem der Uno/Nano. Auch der Arduino-Mega lässt sich programmieren. Grundsätzlich sind alle AVR etwa gleich zu programmieren. Meistens unterscheiden sich nur die Register ein wenig.
Wichtige Grundlagen und Besonderheiten zur Programmierung von Target Embedded AVR (englisch)
 
* [[AVR Programming]]
 
  
== Minimalbeispiele ==
+
== Cross-Compiler/IDE einrichten ==
Einfachstes Beispiel anhand eines Wechsel-Blinker für den ATtiny2313.
+
Bauen des Cross-Compilers und Einrichten der Lazarus-IDE:<br>
* [[Einfache Port-Ausgabe/de|AVR Embedded Tutorial - GPIO-Ausgabe]] - Wie mache ich eine GPIO-Ausgabe am AVR.
+
*[[AVR Embedded Tutorial - Entry Lazarus and Arduino/de|Einstieg Lazarus und Arduino ( Uno/Nano )]] - Wie richte ich Lazarus ein, um einen Arduino zu programmieren (AVR - Crosscompiler).
* [[UART/de|AVR Embedded Tutorial - UART]] - Serielle Ein und Ausgabe über UART (COM-Port).
+
*[[AVR Embedded Tutorial - Set up Lazarus for ATmega and ATTiny/de|Lazarus für ATtiny, ATmega und Arduino]] - Lazarus Crosscompilierung für weitere Arduino/AVRs.
 +
*[[AVR Embedded Tutorial - Various programmers/de|Verschiedene Programmer]] - Hardware-Verbindungen, um den AVR zu flashen.
 +
== Tools ==
 +
* Tool zum erstellen und ändern von AVR/Arduino Projekten: [https://github.com/sechshelme/Lazarus-Embedded/tree/master/Lazarus_Embedded_GUI_Package Embedded GUI Package] - sechshelme (extern)
 +
* Schaltungssimulator, welcher auch AVRs un Arduinos unterstützt: [https://simulide.blogspot.com SimulIDE] - extern
 +
** Linux: Folgende Packete müssen installieren:<syntaxhighlight lang="bash">sudo apt-get install libqt5multimedia libqt5multimedia5 libqt5xml5 libqt5script5 libqt5serialport5</syntaxhighlight>
  
== Hardware ==
+
== Beispiele AVR Programmierung ==
Beispiele zur Hardwareansteuerung
+
 
* Warteroutinen: [[AVR Embedded Tutorial - Delays/de]]
+
* [https://github.com/sechshelme/Lazarus-Embedded Beispiele] - sechshelme (extern)
* Timer/Zähler: [[AVR Embedded Tutorial - Timer/Counter/de]]
+
* [https://github.com/ccrause/fpc-avr Beispiele] - crrause (extern)
* Schnittstellen:
+
 
** SPI: [[AVR Embedded Tutorial - SPI/de]]
+
* '''Software:'''
** I2C: [[AVR Embedded Tutorial - I²C/TWI/de]]
+
** [[AVR Programming/de|AVR-Programmierung]] - Wichtige Grundlagen und Besonderheiten zur Programmierung von AVR
** Soft-I2C: [[AVR Embedded Tutorial - Software I2C / TWI/de]]
+
** [[AVR Embedded Tutorial - Library/de|Bibliotheken]] - '''Units''' in der AVR-Programmierung.
 +
** [[AVR Embedded Tutorial - Delays/de|Delay]] - Warteroutinen (Delay/Sleep).
 +
** [[AVR Embedded Tutorial - Multiplex/de|Multiplex]] - Multiplex anhand einer 4-fach Siebensegmentanzeige.
 +
** [[AVR Embedded Tutorial - Int to digits/de|Integer zu Digits]] - Einen Integer auf Digits (7-Segmentanzeige) ausgeben.
 +
** [[AVR Embedded Tutorial - Random/de|Zufallsgenerator]] - Ein Zufallsgenerator ist auf einem AVR recht komplex. 
 +
 
 +
* '''Hardware:'''
 +
** [[AVR Embedded Tutorial - Simple GPIO on and off output/de|GPIO - Aus / Ein-gabe]] - Wie mache ich einen GPIO-Zugriff am AVR ?
 +
** [[AVR Embedded Tutorial - GPIO-Interrupt/de|GPIO - Interrupt]] - Verwendung von GPIO-Interrupts und Pin Change.
 +
** [[AVR Embedded Tutorial - Timer, Counter/de|Timer / Zähler]] - Verwendung der Hardware-Timer.
 +
** [[AVR Embedded Tutorial - Analog Write/de|Analog Write / PWM]] - Analoge Ausgabe mittels Pulsweitenmodulation (PWM)
 +
** [[AVR Embedded Tutorial - Analog Read/de|Analog Read]] - Analog Pin auslesen.
 +
** [[AVR Embedded Tutorial - EEPROM/de|EEPROM]] - Daten im EEPROM speichern und lesen.
 +
** '''Schnittstellen:'''
 +
*** [[AVR Embedded Tutorial - UART/de|UART]] - Serielle Ein und Ausgabe über UART (COM-Port).
 +
*** [[AVR Embedded Tutorial - SPI/de|SPI]] - Nutzung der Hardware-SPI-Schnittstelle bei einem ATmega328 / Arduino.
 +
*** [[AVR Embedded Tutorial - SPI-Slave/de|SPI-Slave]] - SPI als Slave verwenden.
 +
*** [[AVR Embedded Tutorial - I²C, TWI/de|I²C/TWI]] - Kommunikation  mit I²C/TWI, Hardware gesteuert.
 +
*** [[AVR Embedded Tutorial - Software I2C, TWI/de|Software I²C/TWI]] - Kommunikation  mit I²C/TWI, Software  gesteuert.
 +
 
 +
* '''Externe Bausteine:'''
 +
** [[AVR Embedded Tutorial - Shiftregister/de|Schieberegister]] - Wie steuere ich Schieberegister an.
 +
** [[AVR Embedded Tutorial - I²C EEPROM/de|I²C EEPROM]] - I²C EEPROM (24LC256) ansteuern.
 +
** [[AVR Embedded Tutorial - I²C External-Clock/de|I²C Externe Uhr]] - Externen Uhrenbaustein DS3231.
 +
** [[AVR Embedded Tutorial - SPI Shiftregister/de|SPI Schieberegister]] - Schieberegister 74HC595 über SPI ansteuern.
 +
** [[AVR Embedded Tutorial - SPI MCP4922/de|SPI MCP4922]] - 12Bit DAC MCP4922 über SPI ansteuern.
 +
** [[AVR Embedded Tutorial - ADS1115/de|ADS1115]] - Wie steuere ich den 16Bit-Wandler ADC1115 über I²C an.
  
 
== Siehe auch ==
 
== Siehe auch ==
* [[AVR]]
+
* [[AVR]] - Crosscompiler mit '''make''' bauen. (englisch)
* [[Arduino]]
+
* [[AVR Programming]] - Wichtige Grundlagen und Besonderheiten zur Programmierung von Target Embedded AVR (englisch)
 +
* [[Arduino/de|Arduino]] - Kommunikation mit einem Arduino.
 +
* [[ARM Embedded Tutorials/de|'''ARM''' Embedded Tutorials]] - Tutorials für '''ARM''' Embedded / STM32.
 +
 
 +
[[Category:Operating Systems and Platforms/de]]
 +
[[Category:AVR/de]]
 +
[[Category:Arduino/de]]
 +
[[Category:Embedded/de]]
 +
[[Category:Tutorials/de]]
 +
{{AutoCategory}}

Latest revision as of 22:16, 17 November 2022

Deutsch (de) English (en)

AVR Embedded Tutorials

Tutorial zur Programmierung von AVR-Mikrocontrollern mit FPC und Lazarus. Dies betrifft diverse ATtiny, ATmega. Die Beispiele laufen die meisten auch auf Arduino mit ATmega. Vor allem der Uno/Nano. Auch der Arduino-Mega lässt sich programmieren. Grundsätzlich sind alle AVR etwa gleich zu programmieren. Meistens unterscheiden sich nur die Register ein wenig.

Cross-Compiler/IDE einrichten

Bauen des Cross-Compilers und Einrichten der Lazarus-IDE:

Tools

  • Tool zum erstellen und ändern von AVR/Arduino Projekten: Embedded GUI Package - sechshelme (extern)
  • Schaltungssimulator, welcher auch AVRs un Arduinos unterstützt: SimulIDE - extern
    • Linux: Folgende Packete müssen installieren:
      sudo apt-get install libqt5multimedia libqt5multimedia5 libqt5xml5 libqt5script5 libqt5serialport5
      

Beispiele AVR Programmierung

  • Software:
  • Hardware:
    • GPIO - Aus / Ein-gabe - Wie mache ich einen GPIO-Zugriff am AVR ?
    • GPIO - Interrupt - Verwendung von GPIO-Interrupts und Pin Change.
    • Timer / Zähler - Verwendung der Hardware-Timer.
    • Analog Write / PWM - Analoge Ausgabe mittels Pulsweitenmodulation (PWM)
    • Analog Read - Analog Pin auslesen.
    • EEPROM - Daten im EEPROM speichern und lesen.
    • Schnittstellen:
      • UART - Serielle Ein und Ausgabe über UART (COM-Port).
      • SPI - Nutzung der Hardware-SPI-Schnittstelle bei einem ATmega328 / Arduino.
      • SPI-Slave - SPI als Slave verwenden.
      • I²C/TWI - Kommunikation mit I²C/TWI, Hardware gesteuert.
      • Software I²C/TWI - Kommunikation mit I²C/TWI, Software gesteuert.

Siehe auch

  • AVR - Crosscompiler mit make bauen. (englisch)
  • AVR Programming - Wichtige Grundlagen und Besonderheiten zur Programmierung von Target Embedded AVR (englisch)
  • Arduino - Kommunikation mit einem Arduino.
  • ARM Embedded Tutorials - Tutorials für ARM Embedded / STM32.