Sign in Join
Wiki copytemporary

AVR Embedded Tutorials: what changed

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

OldNewLine
11## Contents
22
33 * 1 AVR embedded tutorials
44 * 2 Set up cross compiler/IDE
55 * 3 AVR programming examples
66 * 4 AVR tutorials
77 * 4.1 Software
88 * 4.2 Hardware
99 * 4.3 Communication
1010 * 4.4 External modules
1111 * 5 See also
1212
1313## AVR embedded tutorials
1414
1515This 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.
1616
1717## Set up cross compiler/IDE
1818
1919Building the cross compiler and setting up the Lazarus IDE:
2020
2121 * [[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).
2222 * [[AVR Embedded Tutorial - Set up Lazarus for ATmega and ATTiny|Set up Lazarus for ATtiny and ATmega]] \- Lazarus cross compilation for additional Arduino/AVRs.
2323 * 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).
2424 * [[AVR Embedded Tutorial - Various programmers|Various programmers]] \- hardware connections to flash the AVR.
2525
2626## AVR programming examples
2727
2828 * [sechshelme examples](<https://github.com/sechshelme/Lazarus-Embedded>) (external)
2929 * [crrause examples](<https://github.com/ccrause/fpc-avr>) (external)
3030
3131## AVR tutorials
3232
3333### Software
3434
3535 * [[AVR Programming]] \- Important basics and special features for programming AVR.
3636 * [[AVR Embedded Tutorial - Library|Libraries]] \- Units in AVR programming.
3737 * [[AVR Embedded Tutorial - Delays|Delay]] \- Waiting routines (delay/sleep).
3838 * [[AVR Embedded Tutorial - Multiplex|Multiplex]] \- Multiplex based on a 4-digit 7-segment display.
3939 * [[AVR Embedded Tutorial - Int to digits|Integer to digits]] \- Output an integer to digits (7-segment display).
4040 * [[AVR Embedded Tutorial - Random|Random Number Generator]] \- A random number generator is quite complex on an AVR.
4141
4242### Hardware
4343
4444 * [[AVR Embedded Tutorial - Simple GPIO on and off output|GPIO - Out / In]] \- How do I access the GPIO on the AVR?
4545 * [[AVR Embedded Tutorial - GPIO-Interrupt|GPIO - Interrupt]] \- Use of GPIO interrupts and pin change.
4646 * [[AVR Embedded Tutorial - Timer, Counter|Timers/Counters]] \- Use of hardware timers.
4747 * [[AVR Embedded Tutorial - Analog Write|Analog Write/PWM]] \- Analog output using pulse width modulation (PWM)
4848 * [[AVR Embedded Tutorial - Analog Read|Analog Read]] \- Read the analog pin.
4949 * [[AVR Embedded Tutorial - EEPROM|EEPROM]] \- Save and read data to/from an EEPROM.
5050
5151### Communication
5252
5353 * [[AVR Embedded Tutorial - UART|UART]] \- Serial input and output via UART (COM port).
5454 * [[AVR Embedded Tutorial - SPI|SPI]] \- Use of the hardware SPI interface with an ATmega328 / Arduino.
5555 * [[AVR Embedded Tutorial - SPI-Slave|SPI slave]] \- Use SPI as a slave.
5656 * [[AVR Embedded Tutorial - I²C, TWI|I²C / TWI]] \- Communication with I²C / TWI, hardware controlled.
5757 * [[AVR Embedded Tutorial - Software I2C, TWI|Software I²C/TWI]] \- Communication with I²C / TWI, software controlled.
5858
5959### External modules
6060
6161 * [[AVR Embedded Tutorial - Shiftregister|Shift registers]] \- How do I control shift registers?
6262 * [[AVR Embedded Tutorial - I²C EEPROM|Control I²C EEPROM]] \- I²C EEPROM (24LC256).
6363 * [[AVR Embedded Tutorial - I²C External-Clock|I²C external clock]] \- External clock module DS3231.
6464 * [[AVR Embedded Tutorial - SPI Shiftregister|SPI shift register]] \- Control a 74HC595 shift register via SPI.
6565 * [[AVR Embedded Tutorial - SPI MCP4922|Control SPI MCP4922]] \- Control 12-bit DAC MCP4922 via SPI.
6666 * [[AVR Embedded Tutorial - ADS1115|ADS1115]] \- Control the 16-bit converter ADC1115 via I²C.
6767
6868## See also
6969
7070 * [[AVR]] \- Cross compiler with make
7171 * [[AVR Programming]] \- Important basics and special features for programming AVR Embedded/Arduino
7272 * [[Arduino]] \- Communication with an Arduino
7373 * [[ARM Embedded Tutorials]] \- Tutorials for ARM Embedded/STM32 and Raspberry Pi Pico/RP2040.
7474
7575---
76-*From the Free Pascal wiki, page "AVR Embedded Tutorial", as the Internet Archive kept it on 2024-07-14. 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).*
76+*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