Retardo de microssegundo LPC1768 / ARM Cortex-M3

Estou tentando implementar um atraso de microssegundo em um ambiente de braço sem metal (LPC1768) / GCC. Eu vi os exemplos que usam o SysTimer para gerar uma interrupção que faz algumas contagens em C, que é usado como base de tempo

https: //bitbucket.org/jpc/lpc1768/src/dea43fb213ff/main.

No entanto, no relógio do sistema de 12MHz, não acho que a escala seja muito boa para atrasos de microssegundos. Basicamente, o processador gasta todo o seu tempo atendendo à interrupçã

É possível consultar o valor de SYSTICK_GetCurrentValue em um loop e determinar quantos ticks vão em um microssegundo e sair do loop quando o número de ticks exceder o número calculado?

Prefiro não usar um temporizador de hardware separado para isso (mas, se não houver outra opção)

questionAnswers(3)

yourAnswerToTheQuestion