time base in Arduino/atmega328

Hello there,

I would need some of your light. I have recently bought an arduino and I am having way too much fun with it. I am currently practising with an infrared tutorial from this site: Overview | IR Sensor | Adafruit Learning System

Everything is easy to understand but there is one fundamental point which is not quite clear. Indeed in this example the following is defined #define resolution 20 (or even #define maxpulse 65000) and it is assumed that it corresponds to 20 us (or 65000 us). However, the ATMEGA internal clock is 16 MHz so how do we know that our time base is 1 microsecond? All my apologies for this very basic question.

Best regards,

Franck

The code there is using delayMicroseconds() - if you want to see how this works then the source is there for you to examine, just
find your hardware/arduino/cores/arduino/ folder in the distribution and look at wiring.c

Many thanks Mark!