Sparo: mettere HIGH un pin ad inizio loop e LOW a fine loop modificando direttamente i registri in modo da avere l'esecuzione più rapida possibile. Dopo puoi estrarre il segnale con quello che vuoi
p.s. io uso un multimetro da 24€ che legge anche le frequenze, non sarà stratosferico ma funziona
Guglielmo ancora una volta la tua soluzione è eccellente.
E' bastato inserire una lettura di micros ad inizio loop ed una lettura a fine loop.
Poi una semplice stampa della differenza dei due valori sul monitor seriale et voilà !!!!
Come previsto (considerato anche che la risoluzione del micros() è 4 microsecondi) ottengo valori perfettamente congruenti con le attese.
In un primo caso ho testato il classico BlinkWithoutDelay ed il risultato è stato 8 us ossia 125.000 cicli al secondo.
Nel secondo caso ho inserito un analogRead() ed il risultato è stato 112 us ossia "solo" 8929 cicli al secondo.
Grazie di cuore
PS Non ho compreso bene il messaggio di paulus1969
Credo che paulus1969 intendesse dire che la funzione micros() impiega lei stessa un certo tempo per essere eseguita ed essendo richiamata 2 volte andrebbe conteggiata per 2. Idem poi per qualunque funzione viene inserita extra, tipo stampare su monitor seriale vale anche per la soluzione proposta da me