I really thought I wrote an article about this already, but I guess I’m loosing my mind.  Anyway…

A couple months ago I decided to switch from the PIC microcontroller to the AVR microcontroller.  The decision really came down to being able to develop in a higher level language than assembly.  Though I started my career programming in assembly, over the years I’ve become a fan of not having to remember which register I put that variable in, or declaring each variable, one byte at a time, or even doing my own 16 and 32-bit math.  It’s a drag.  Though I’m not particularly fond of C, it’s a step better than ASM for me, and the AVR has a very active user community.

The first step in my journey was to get my MacBook Pro configured to compile for the uC.  In the past that would of been a fairly tall order, but now with the Intel-based Mac’s, it was super easy (a lot more easy that using the PIC on a Mac).  It also “forced” me to get over my aversion of Eclipse and learn the platform.

At some point in the future I’ll fully document getting Eclipse set up for a Mac, but for now there are some various pages out there that I used.

Coming from the Java world, but having an intense background in pure C, I find C++ nauseating.  I’ve never liked it, but using the AVR I’ve learned to “work” with it and get what I need from the language without getting drug into the chaos of pointers to classes, instance variables, etc.  It helps that I’m programming on the microcontroller without a malloc function – it’s really hard to worry about memory leaks when you can’t allocate memory dynamically 🙂

Anyway, I just finished a short article on programming interrupt service routines for the AVR using C++.  It was not as easy as I would of liked – or as easy as using plain C – but I got it to work and I’m happy.

Now on to bigger and better projects – more on that later.