Go Down

### Topic: how to convert micros() to seconds (Read 3086 times)previous topic - next topic

#### nychelp

##### May 10, 2012, 09:31 pm
I just want to convert the micros() function output to actual seconds, but don't quite understand the reference page.  I'm using Arduino Uno, which has a 16MHz oscillator, so according to the micros() reference page:
Quote
On 16 MHz Arduino boards (e.g. Duemilanove and Nano), this function has a resolution of four microseconds (i.e. the value returned is always a multiple of four).

When I run some simple print code (below) I get this as the first few lines of output:
1064,824
1908,824
2776,824

So how many seconds is 1064 micros()?  If it's a multiple of 4 as indicated in the quote, that means
1064 micros() = 1064/4 microseconds  = 266 microseconds  = 0.000266 seconds
?  This doesn't feel right.  However, I'm not sure how to translate "resolution of four microseconds" quoted above.

#1
##### May 10, 2012, 09:32 pm

micros returns the number of microseconds.  The granularity (4) is irrelevant.  To convert to seconds divide by one million.

#### nychelp

#2
##### May 10, 2012, 09:33 pm
Thanks! But can you explain more? I don't understand why The granularity (4) is irrelevant.

#### AWOL

#3
##### May 10, 2012, 09:36 pm
All it means is that, in effect, instead of incrementing a variable by one every microsecond, the variable is incremented by four every four microseconds.
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.
I speak for myself, not Arduino.

#### nychelp

#4
##### May 10, 2012, 09:38 pm
ooohhhh okay great, thanks so much for such a quick reply!

Go Up