Tutorials

In this section I hope to gather fairly extensive tutorials based on fully working projects. The information provided for each project should allow anyone who reads the tutorial to reproduce the work presented.

Thermometer is the first tutorial written and as it stands, it is the last one as well. The tutorial starts from the very beginning therefore I consider it ideal for newcomers. Quite a few things are explained here that will assist you with any project you wish to start meshing with.

  • welcome - why another tutorial?
  • board - how the board looks like
  • tools - the tools we use
  • firstrun - giving a first go
  • superloop - superloop architecture
  • ioports - playing with the LED & button
  • led - making the led blink
  • button - reading the button
  • display - making the 7-segment display work
  • bigpicture - looking at the development cycle
  • serial - serial interface
  • loopback - testing the serial interface
  • 1wire1 - intro to the 1-wire protocol
  • 1wire2 - high level 1-wire commands
  • 1wire3 - anticipating 1-wire errors
  • crc - ensuring communication with crc
  • further - finishing up

Articles

In this section I hope to gather shorter tutorials that provide good information and examples on specific topics. The present articles are introductory ones and will assist newcomers clear a few things out.

LED Interfacing is a very basic one, it just explains a few thinks about LEDs and advices on how to use them.

Interrupts is a short introduction to interrupts and a suggestion for a button debouncing routine that you may find useful.

Serial Safe is basically the AVR306 application note with a few more details. In this one you will find circular buffers and interrupt driven serial communication.

Scheduler is an attempt to implement a really simple pre-emptive scheduler. It is a nice alternative to the commonly used superloop architecture, ideal if you or your code has to meet deadlines.

Enjoy!

 
victor@avrtutor.com