[time-nuts] First success with very simple, very low cost GPSDO, under $8

Hal Murray hmurray at megapathdsl.net
Wed Apr 9 05:08:27 EDT 2014


holrum at hotmail.com said:
> I'm not sure how the Arduino environment handles interrupts,  but in C you
> need to declare any variables altered by an interrupt as "volatile" so that
> the compiler optimization routines know not to assume they contain known
> values.  

Good point.

> Also any code that accesses them needs to do so with interrupts turned
> off...  otherwise you can wind up with corrupted values.

Not quite.  That may be the simplest way, but you can also use inter-process 
communications type tricks.  The classic for a two byte counter is to read 
high-low-high and try again if the high values don't match.  That assumes the 
interrupt routine updates low then (maybe) high.



-- 
These are my opinions.  I hate spam.






More information about the time-nuts mailing list