Difference between revisions of "AVR Embedded Tutorials/de"

From Lazarus wiki
Jump to navigationJump to search
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=AVR Embedded Tutorial=
+
{{LanguageBar}}
 +
 
 +
=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.
 
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.
Line 6: Line 8:
 
Bauen des Cross-Compilers und Einrichten der Lazarus-IDE:<br>
 
Bauen des Cross-Compilers und Einrichten der Lazarus-IDE:<br>
 
*[[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).
 
*[[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).
*[[AVR Embedded Tutorial - Set up Lazarus for ATmega and ATTiny/de|Lazarus für ATtiny und ATmega einrichten]] - Lazarus Crosscompilierung für weitere Arduino/AVRs.
+
*[[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.
 
*[[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>
  
 
== Beispiele AVR Programmierung ==
 
== Beispiele AVR Programmierung ==
  
* [https://github.com/sechshelme/AVR-Lazarus ] - Beispiel-Sammlung (extern)
+
* [https://github.com/sechshelme/Lazarus-Embedded Beispiele] - sechshelme (extern)
 +
* [https://github.com/ccrause/fpc-avr Beispiele] - crrause (extern)
  
 
* '''Software:'''
 
* '''Software:'''
** [[AVR Programming/de|AVR-Programmierung]] - Wichtige Grundlagen und Besonderheiten zur Programmierung von AVR (deutsch)
+
** [[AVR Programming/de|AVR-Programmierung]] - Wichtige Grundlagen und Besonderheiten zur Programmierung von AVR
 
** [[AVR Embedded Tutorial - Library/de|Bibliotheken]] - '''Units''' in der AVR-Programmierung.
 
** [[AVR Embedded Tutorial - Library/de|Bibliotheken]] - '''Units''' in der AVR-Programmierung.
 
** [[AVR Embedded Tutorial - Delays/de|Delay]] - Warteroutinen (Delay/Sleep).
 
** [[AVR Embedded Tutorial - Delays/de|Delay]] - Warteroutinen (Delay/Sleep).
Line 22: Line 29:
  
 
* '''Hardware:'''
 
* '''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 - 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 - 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 - 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 Write/de|Analog Write / PWM]] - Analoge Ausgabe mittels Pulsweitenmodulation (PWM)
 
** [[AVR Embedded Tutorial - Analog Read/de|Analog Read]] - Analog Pin auslesen.
 
** [[AVR Embedded Tutorial - Analog Read/de|Analog Read]] - Analog Pin auslesen.
Line 31: Line 38:
 
*** [[AVR Embedded Tutorial - UART/de|UART]] - Serielle Ein und Ausgabe über UART (COM-Port).
 
*** [[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/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 - 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.
 
*** [[AVR Embedded Tutorial - Software I2C, TWI/de|Software I²C/TWI]] - Kommunikation  mit I²C/TWI, Software  gesteuert.
Line 37: Line 45:
 
** [[AVR Embedded Tutorial - Shiftregister/de|Schieberegister]] - Wie steuere ich Schieberegister an.
 
** [[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 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.
 
** [[AVR Embedded Tutorial - ADS1115/de|ADS1115]] - Wie steuere ich den 16Bit-Wandler ADC1115 über I²C an.
  
Line 44: Line 55:
 
* [[Arduino/de|Arduino]] - Kommunikation mit einem Arduino.
 
* [[Arduino/de|Arduino]] - Kommunikation mit einem Arduino.
 
* [[ARM Embedded Tutorial/de|'''ARM''' Embedded Tutorial]] - Tutorial für '''ARM''' Embedded / STM32.
 
* [[ARM Embedded Tutorial/de|'''ARM''' Embedded Tutorial]] - Tutorial für '''ARM''' Embedded / STM32.
 +
 +
[[Category:Operating Systems and Platforms/de]]
 +
[[Category:AVR/de]]
 +
[[Category:Arduino/de]]
 +
[[Category:Embedded/de]]
 +
[[Category:Tutorials/de]]
 +
{{AutoCategory}}

Revision as of 13:01, 20 September 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 Tutorial - Tutorial für ARM Embedded / STM32.