I recently purchased my first arduino (Arduino Main Board Retail, from sparkfun), I liked it very much, very user-friendly, I had a LED blinking a few minutes after unpacking.
I used to program PIC18 microcontrollers before using arduino, and despite the accessibility of arduino, I missed being able to handle the native registers of the microprocessor.
UNTIL today, when I was reading some code and realized the programmer used "PORTD" "DDRD" etc. so I immediately started searching for other registers, but they seem kind of hidden from the public, since I couldn't find any good list of them at the arduino website.
SO, can you guys point me to a list of important registers? or a list of all of them, if there is one. I am specially interested in STATUS and TIMER registers, to check overflows and stuff like that.
That is one level of abstraction lower. The lowest level, below AVR-LIBC, is the datasheet for the ATmega328 which describes exactly what all the registers do and their names:
--
The Gadget Shield: accelerometer, RGB LED, IR transmit/receive, light sensor, potentiometers, pushbuttons
I wonder which timers arduino actually uses and where.
I mean, what timer is used for millis() and micros(), which ones can I edit without messing with important funcions, etc.
To look into the Arduino core you should find the hardware/arduino/cores/arduino folder in your installation and browse through the files there. There's nothing like reading the source to figure out exactly how things work.