Difference between revisions of "AVR Embedded Tutorials"

From Lazarus wiki
Jump to navigationJump to search
(English translation of German page)
 
(→‎See also: Bypass redirect; add Raspberry Pi Pico/RP2040)
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{LanguageBar}}
 
{{LanguageBar}}
  
== AVR embedded tutorial ==
+
== AVR embedded tutorials ==
  
This is a tutorial for programming AVR microcontrollers with Free Pascal and Lazarus. This includes various ATtiny and ATmega microcontrollers. Most of the examples also run on an Arduino with an ATmega; especially the Uno/Nano. The Arduino-Mega can also be programmed. Basically, all AVR microcontrollers are programmed more or less the same way. Usually only the registers differ a little.
+
This is an overview of tutorials for programming AVR microcontrollers with Free Pascal and Lazarus. This includes various ATtiny and ATmega microcontrollers. Most of the examples also run on an Arduino with an ATmega; especially the Uno/Nano. The Arduino-Mega can also be programmed. Basically, all AVR microcontrollers are programmed more or less the same way. Usually only the registers differ a little.
  
 
== Set up cross compiler/IDE ==
 
== Set up cross compiler/IDE ==
Line 10: Line 10:
  
 
* [[AVR Embedded Tutorial - Entry Lazarus and Arduino|Getting started Lazarus and Arduino (Uno/Nano)]] - How do I set up Lazarus to program an Arduino (AVR - Cross compiler).
 
* [[AVR Embedded Tutorial - Entry Lazarus and Arduino|Getting started Lazarus and Arduino (Uno/Nano)]] - How do I set up Lazarus to program an Arduino (AVR - Cross compiler).
* [[AVR Embedded Tutorial - Set up Lazarus for ATmega and ATTiny|Set up Lazarus for ATtiny and ATmega]] - Lazarus cross compilation for additional Arduino / AVRs.
+
* [[AVR Embedded Tutorial - Set up Lazarus for ATmega and ATTiny|Set up Lazarus for ATtiny and ATmega]] - Lazarus cross compilation for additional Arduino/AVRs.
 +
* Tool for creating and modifying AVR/Arduino projects: [https://github.com/sechshelme/Lazarus-Embedded/tree/master/Arduino_AVR_Package AVR/ Arduino Package] - sechshelme (external link).
 
* [[AVR Embedded Tutorial - Various programmers|Various programmers]] - hardware connections to flash the AVR.
 
* [[AVR Embedded Tutorial - Various programmers|Various programmers]] - hardware connections to flash the AVR.
  
Line 17: Line 18:
 
* [https://github.com/sechshelme/Lazarus-Embedded sechshelme examples] (external)
 
* [https://github.com/sechshelme/Lazarus-Embedded sechshelme examples] (external)
 
* [https://github.com/ccrause/fpc-avr crrause examples] (external)
 
* [https://github.com/ccrause/fpc-avr crrause examples] (external)
 +
 +
== AVR tutorials ==
  
 
=== Software ===
 
=== Software ===
  
* [[AVR programming]] - important basics and special features for programming AVR
+
* [[AVR_Programming|AVR Programming]] - Important basics and special features for programming AVR.
* [[AVR Embedded Tutorial - Library|Libraries]] - units in AVR programming.
+
* [[AVR Embedded Tutorial - Library|Libraries]] - Units in AVR programming.
* [[AVR Embedded Tutorial - Delays|Delay]] - waiting routines (delay/sleep).
+
* [[AVR Embedded Tutorial - Delays|Delay]] - Waiting routines (delay/sleep).
 
* [[AVR Embedded Tutorial - Multiplex|Multiplex]] - Multiplex based on a 4-digit 7-segment display.
 
* [[AVR Embedded Tutorial - Multiplex|Multiplex]] - Multiplex based on a 4-digit 7-segment display.
 
* [[AVR Embedded Tutorial - Int to digits|Integer to digits]] - Output an integer to digits (7-segment display).
 
* [[AVR Embedded Tutorial - Int to digits|Integer to digits]] - Output an integer to digits (7-segment display).
Line 56: Line 59:
  
 
* [[AVR]] - Cross compiler with make
 
* [[AVR]] - Cross compiler with make
* [[AVR Programming]] - Important basics and special features for programming Target Embedded AVR
+
* [[AVR Programming]] - Important basics and special features for programming AVR Embedded/Arduino
* [[Arduino]] - communication with an Arduino
+
* [[Arduino]] - Communication with an Arduino
* [[ARM Embedded Tutorial]] - Tutorial for ARM Embedded/STM32.
+
* [[ARM Embedded Tutorials]] - Tutorials for ARM Embedded/STM32 and Raspberry Pi Pico/RP2040.
  
 
[[Category:Operating Systems and Platforms]]
 
[[Category:Operating Systems and Platforms]]
Line 64: Line 67:
 
[[Category:Arduino]]
 
[[Category:Arduino]]
 
[[Category:AVR]]
 
[[Category:AVR]]
 +
[[Category:Tutorials]]

Revision as of 02:53, 1 February 2021

Deutsch (de) English (en)

AVR embedded tutorials

This is an overview of tutorials for programming AVR microcontrollers with Free Pascal and Lazarus. This includes various ATtiny and ATmega microcontrollers. Most of the examples also run on an Arduino with an ATmega; especially the Uno/Nano. The Arduino-Mega can also be programmed. Basically, all AVR microcontrollers are programmed more or less the same way. Usually only the registers differ a little.

Set up cross compiler/IDE

Building the cross compiler and setting up the Lazarus IDE:

AVR programming examples

AVR tutorials

Software

Hardware

Communication

  • UART - Serial input and output via UART (COM port).
  • SPI - Use of the hardware SPI interface with an ATmega328 / Arduino.
  • SPI slave - Use SPI as a slave.
  • I²C / TWI - Communication with I²C / TWI, hardware controlled.
  • Software I²C/TWI - Communication with I²C / TWI, software controlled.

External modules

See also

  • AVR - Cross compiler with make
  • AVR Programming - Important basics and special features for programming AVR Embedded/Arduino
  • Arduino - Communication with an Arduino
  • ARM Embedded Tutorials - Tutorials for ARM Embedded/STM32 and Raspberry Pi Pico/RP2040.