Sign in Join
Wiki copytemporary

AVR Embedded Tutorials: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-## Contents
2-
3- * 1 AVR embedded tutorials
4- * 2 Set up cross compiler/IDE
5- * 3 AVR programming examples
6- * 4 AVR tutorials
7- * 4.1 Software
8- * 4.2 Hardware
9- * 4.3 Communication
10- * 4.4 External modules
11- * 5 See also
12-
131## AVR embedded tutorials
142
153This 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.
164
175## Set up cross compiler/IDE
186
197Building the cross compiler and setting up the Lazarus IDE:
208
219 * [[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).
2210 * [[AVR Embedded Tutorial - Set up Lazarus for ATmega and ATTiny|Set up Lazarus for ATtiny and ATmega]] \- Lazarus cross compilation for additional Arduino/AVRs.
2311 * Tool for creating and modifying AVR/Arduino projects: [Embedded GUI Package](<https://github.com/sechshelme/Lazarus-Embedded/tree/master/Lazarus_Embedded_GUI_Package>) \- sechshelme (external link).
2412 * [[AVR Embedded Tutorial - Various programmers|Various programmers]] \- hardware connections to flash the AVR.
2513
2614## AVR programming examples
2715
2816 * [sechshelme examples](<https://github.com/sechshelme/Lazarus-Embedded>) (external)
2917 * [crrause examples](<https://github.com/ccrause/fpc-avr>) (external)
3018
3119## AVR tutorials
3220
3321### Software
3422
3523 * [[AVR Programming]] \- Important basics and special features for programming AVR.
3624 * [[AVR Embedded Tutorial - Library|Libraries]] \- Units in AVR programming.
3725 * [[AVR Embedded Tutorial - Delays|Delay]] \- Waiting routines (delay/sleep).
3826 * [[AVR Embedded Tutorial - Multiplex|Multiplex]] \- Multiplex based on a 4-digit 7-segment display.
3927 * [[AVR Embedded Tutorial - Int to digits|Integer to digits]] \- Output an integer to digits (7-segment display).
4028 * [[AVR Embedded Tutorial - Random|Random Number Generator]] \- A random number generator is quite complex on an AVR.
4129
4230### Hardware
4331
4432 * [[AVR Embedded Tutorial - Simple GPIO on and off output|GPIO - Out / In]] \- How do I access the GPIO on the AVR?
4533 * [[AVR Embedded Tutorial - GPIO-Interrupt|GPIO - Interrupt]] \- Use of GPIO interrupts and pin change.
4634 * [[AVR Embedded Tutorial - Timer, Counter|Timers/Counters]] \- Use of hardware timers.
4735 * [[AVR Embedded Tutorial - Analog Write|Analog Write/PWM]] \- Analog output using pulse width modulation (PWM)
4836 * [[AVR Embedded Tutorial - Analog Read|Analog Read]] \- Read the analog pin.
4937 * [[AVR Embedded Tutorial - EEPROM|EEPROM]] \- Save and read data to/from an EEPROM.
5038
5139### Communication
5240
5341 * [[AVR Embedded Tutorial - UART|UART]] \- Serial input and output via UART (COM port).
5442 * [[AVR Embedded Tutorial - SPI|SPI]] \- Use of the hardware SPI interface with an ATmega328 / Arduino.
5543 * [[AVR Embedded Tutorial - SPI-Slave|SPI slave]] \- Use SPI as a slave.
5644 * [[AVR Embedded Tutorial - I²C, TWI|I²C / TWI]] \- Communication with I²C / TWI, hardware controlled.
5745 * [[AVR Embedded Tutorial - Software I2C, TWI|Software I²C/TWI]] \- Communication with I²C / TWI, software controlled.
5846
5947### External modules
6048
6149 * [[AVR Embedded Tutorial - Shiftregister|Shift registers]] \- How do I control shift registers?
6250 * [[AVR Embedded Tutorial - I²C EEPROM|Control I²C EEPROM]] \- I²C EEPROM (24LC256).
6351 * [[AVR Embedded Tutorial - I²C External-Clock|I²C external clock]] \- External clock module DS3231.
6452 * [[AVR Embedded Tutorial - SPI Shiftregister|SPI shift register]] \- Control a 74HC595 shift register via SPI.
6553 * [[AVR Embedded Tutorial - SPI MCP4922|Control SPI MCP4922]] \- Control 12-bit DAC MCP4922 via SPI.
6654 * [[AVR Embedded Tutorial - ADS1115|ADS1115]] \- Control the 16-bit converter ADC1115 via I²C.
6755
6856## See also
6957
7058 * [[AVR]] \- Cross compiler with make
7159 * [[AVR Programming]] \- Important basics and special features for programming AVR Embedded/Arduino
7260 * [[Arduino]] \- Communication with an Arduino
7361 * [[ARM Embedded Tutorials]] \- Tutorials for ARM Embedded/STM32 and Raspberry Pi Pico/RP2040.
7462
7563---
7664*From the Free Pascal wiki, page "AVR Embedded Tutorial", as the Internet Archive kept it on 2024-07-14, last changed on 2022-09-20. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history