AVR Tutorial: Difference between revisions
From HacDC Wiki
m (→Other AVR Resources: - quick formatting tweaks) |
|||
Line 51: | Line 51: | ||
== Other AVR Resources == | == Other AVR Resources == | ||
* [http://www.avrfreaks.net/ AVR Freaks] articles, forum, and wiki. | |||
* The library reference and and example projects at the [http://www.nongnu.org/avr-libc/user-manual/index.html AVR-libc] page are very useful. | |||
The library reference and and example projects at the | * [http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/ Cornell University's EE476 Course] has a lot of great projects (with code and comments!) using AVRs. | ||
* [http://members.shaw.ca/climber/avr.html Craig Limber's Site] has a bunch of AVR tutorials. | |||
Revision as of 01:00, 29 May 2008
There's a lot of good information out there about programming micro-controllers, but I couldn't find a good, stepwise, lesson-based tutorial. Since a bunch of the HacDC folks are just learning their way around, I thought it'd be fun to put together a mini-course based on the Atmel AVR platform and GNU-GCC. The idea is to have each lesson doable in an hour or so
What follows is a mix of how-to and code snippets and peoples' experience walking through it all. If you're following along and want to contribute, feel free.
The Basics (take these in order):
AVR Lesson: Setup: Get a programmer, a chip, the software, and some parts
AVR Lesson: Output Pins I: Basic output and LED Blinky example
AVR Lesson: Output Pins II: Binary math and Cylon Eyes
AVR Lesson: Input Pins: Debouncing and Button-triggered Cylon Eyes
AVR Lesson: Timers: Clocks and how to use them.
AVR Lesson: Pulse-width Modulation: An easy way to get analog outputs. Dimming LEDs or Crossfading Cylon Eyes
AVR Lesson: Analog-digital Conversion: Automatical Dimming Night Light
Advanced Material (mix-n-match):
AVR Lesson: Using Program Memory:
AVR Lesson: Interfacing with External Memory
Other AVR Resources
- AVR Freaks articles, forum, and wiki.
- The library reference and and example projects at the AVR-libc page are very useful.
- Cornell University's EE476 Course has a lot of great projects (with code and comments!) using AVRs.
- Craig Limber's Site has a bunch of AVR tutorials.