La digitalWrite, e la digitalRead, richiedono circa 2us per essere eseguite, se ne metti due in fila in un loop eterno ci vogliono circa 5 us per eseguire l'intero ciclo, il risultato finale è che ottieni un'onda rettangolare con un fronte che dura circa 2 us e uno 3us, alla fine la frequenza out è attorno ai 200 kHz.
Utilizzando la scrittura diretta dei registri, p.e. tramite le macro cbi e sbi, servono solo due cicli macchina per cambiare lo stato del pin, ovvero 125 ns, in questo caso il risultato finale è che hai un fronte che dura solo 125ns e uno che dura poco meno di 1us per via del tempo richiesto per la gestione del loop, frequenza attorno ai 900 kHz.