Problema con micros()

Buonasera a tutti!
Ho l'esigenza di far variare lo stato di un pin (da alto a basso e viceversa) ogni circa 100 microsecondi. Poichè durante questo lasso di tempo il programma deve effettuare dei controlli, non posso utilizzare delayMicroseconds() ma dovrei usare micros(). Il problema sta nel fatto che il programma per svolgere un solo ciclo ci sta circa 300 microsecondi, e quindi, l'alternanza HIGH/LOW risulta falsata. Come posso risolvere?

ciao
posta lo sketch

Risolvi reimpostando un timer interno e collegandoci una funzione interrupt.
Vedi se la libreria Looper o il LeOS può fare al caso tuo.
--> http://www.leonardomiliani.com/