Difference between revisions of "AVR Embedded Tutorials/de"
From Free Pascal wiki
Jump to navigationJump to searchm (→Siehe auch: bypass redirect following move) |
|||
(40 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{LanguageBar}} | |
− | 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. | + | =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 == | == Cross-Compiler/IDE einrichten == | ||
− | 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 | + | *[[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> | ||
== Beispiele AVR Programmierung == | == Beispiele AVR Programmierung == | ||
+ | |||
+ | * [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 | ||
+ | ** [[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). | ||
− | |||
** [[AVR Embedded Tutorial - Multiplex/de|Multiplex]] - Multiplex anhand einer 4-fach Siebensegmentanzeige. | ** [[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 - 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:''' | * '''Hardware:''' | ||
− | ** [[AVR Embedded Tutorial - Simple GPIO on and off output/de|GPIO - Aus | + | ** [[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 25: | 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 30: | Line 44: | ||
* '''Externe Bausteine:''' | * '''Externe Bausteine:''' | ||
** [[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 - ADS1115/de|ADS1115]] - Wie steuere ich den 16Bit-Wandler ADC1115 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]] - Crosscompiler mit '''make''' bauen. (englisch) | * [[AVR]] - Crosscompiler mit '''make''' bauen. (englisch) | ||
* [[AVR Programming]] - Wichtige Grundlagen und Besonderheiten zur Programmierung von Target Embedded AVR (englisch) | * [[AVR Programming]] - Wichtige Grundlagen und Besonderheiten zur Programmierung von Target Embedded AVR (englisch) | ||
− | * [[Arduino]] - Kommunikation mit einem Arduino. | + | * [[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:
- Einstieg Lazarus und Arduino ( Uno/Nano ) - Wie richte ich Lazarus ein, um einen Arduino zu programmieren (AVR - Crosscompiler).
- Lazarus für ATtiny, ATmega und Arduino - Lazarus Crosscompilierung für weitere Arduino/AVRs.
- Verschiedene Programmer - Hardware-Verbindungen, um den AVR zu flashen.
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
- Linux: Folgende Packete müssen installieren:
Beispiele AVR Programmierung
- Software:
- AVR-Programmierung - Wichtige Grundlagen und Besonderheiten zur Programmierung von AVR
- Bibliotheken - Units in der AVR-Programmierung.
- Delay - Warteroutinen (Delay/Sleep).
- Multiplex - Multiplex anhand einer 4-fach Siebensegmentanzeige.
- Integer zu Digits - Einen Integer auf Digits (7-Segmentanzeige) ausgeben.
- Zufallsgenerator - Ein Zufallsgenerator ist auf einem AVR recht komplex.
- 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.
- Externe Bausteine:
- Schieberegister - Wie steuere ich Schieberegister an.
- I²C EEPROM - I²C EEPROM (24LC256) ansteuern.
- I²C Externe Uhr - Externen Uhrenbaustein DS3231.
- SPI Schieberegister - Schieberegister 74HC595 über SPI ansteuern.
- SPI MCP4922 - 12Bit DAC MCP4922 über SPI ansteuern.
- ADS1115 - Wie steuere ich den 16Bit-Wandler ADC1115 über I²C an.
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.