Learning behind the scenes

Hey all,

I am new to the arduino platform and I am really excited to see what I can do with it. My first micro was in a college course where we used a Freescale micro starting with the very basics of looking up assembly and its associated hex codes out of a manual to write a simple program and slowly but surely progressed in to using embedded C to control every module of the micro, SPI, RTI, TIM, PWM, ADC, etc. We had to set control registers, make all of our own libraries to interface motors and LCDs and such. I actually really liked knowing the behind the scenes stuff and really really knowing how every function worked. I am having some trouble doing that with arduino though.

Can anybody point me in the right direction on how the arduino works with stuff like interfacing with the control registers? I have the Arduino Cookbook but that seems to skim over the bare bones of the micro too much for me. On the Freescale 9S12C32 using their CodeWarrior IDE every register was a variable you could access. Does the arduino IDE do anything similar to this?


The overall goal of Arduino seems to be to make it as easy as possible to get started, by hiding you from the complexity of the lower levels. If you want to know what the Arduino runtime is doing for you, you can either look up the runtime library source code (it is provided with the IDE) or look at the AVR data sheets to see how the hardware works.