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 overflow dopo un ora, un po poco per un installazione fissa.

sarebbe possibile avere una variabile che conti microsecondi da 0 1024 o 2048 (e che poi torni 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 (http://playground.arduino.cc/code/timer1)

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

code: [select]


#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
}




Arduino Forum > International > Italiano > Software (Moderator: leo72) > micros senza overflow


arduino

Comments