micros senza overflow

salve,
ho ricevuto una decina di shift register 74hc595 (per la modica cifra di 70 cents)
mi interesserebbe usarli per emulare il pwm

per ottenere una risoluzione decente dovrei avere una frequenza di 300-500 hz, ottenibili quindi con micros il problema sarebbe che andrebbe i overflow dopo un ora, un po poco per un installazione fissa.

sarebbe possibile avere una variabile che conti i microsecondi da 0 a 1024 o 2048 (e che poi torni a 0) scollegata dai delay o dal tempo di esecuzione del codice??

Ciao,
non son sicuro di aver capito bene.. hai bisogno di un qualcosa che venga chiamato con una frequenze più precisa possibile? Se è così, userei la libreria timerOne (Arduino Playground - Timer1)

Un esempio di una una versione che chiama una funzione ogni 1000 microsecondi:

#include <TimerOne.h>

// tempo per scansione veloce (in microsecondi)
#define SCAN_TIME_US		1000

void timerIsr()
{	
   // funzione chimata ogni SCAN_TIME_US microsecondi
}

// init globale micro
void setup()
{

	// init del timer per scansione IO veloci
	Timer1.initialize(SCAN_TIME_US); 

	// attiva la funzione di interrupt per il check degli IO veloci 
	Timer1.attachInterrupt( timerIsr );

}

// main loop
void loop()
{
 // qui le azioni che non necessitato timerizzazione precisa
}

ottimo, mi sembra proprio quello di cui ho bisogno.
appena riesco me lo spulcio per bene.

grazie mille