Actions

AVR Tutorial: Difference between revisions

From HacDC Wiki

m (→‎Other AVR Resources: - quick formatting tweaks)
(pointing to actual AVR class page)
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Warning: this page is a nearly-completely incomplete skeleton.  For the class (and supporting materials) that actually came to be, see [[AVR Microcontroller Class]].  This section needs a lot of development, so if you're in the mood please feel free.
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
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.   
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.   
[[Useful AVR Links]]




Line 49: Line 55:




== 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.
[[Category: AVR Tutorial]]
* [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.

Latest revision as of 20:39, 15 December 2009

Warning: this page is a nearly-completely incomplete skeleton. For the class (and supporting materials) that actually came to be, see AVR Microcontroller Class. This section needs a lot of development, so if you're in the mood please feel free.

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.


Useful AVR Links


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: Interrupts:

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: Watchdog Timers:

AVR Lesson: I2C

AVR Lesson: Using Program Memory:

AVR Lesson: Motor Driving:

AVR Lesson: Servo Control:

AVR Lesson: State Machines:

AVR Lesson: Sound:

AVR Lesson: Serial I/O:

AVR Lesson: USB:

AVR Lesson: Interfacing with External Memory