Имейте в виду, что это пример, вам необходимо отрегулировать его для встречного пролонгации.
аюсь реализовать микросекундную задержку в среде с голым металлическим плечом (LPC1768) / GCC. Я видел примеры, которые используют SysTimer для генерации прерывания, которое затем делает некоторый подсчет в C, который используется в качестве временной базы
https://bitbucket.org/jpc/lpc1768/src/dea43fb213ff/main.c
Однако при системных тактовых частотах 12 МГц я не думаю, что они будут хорошо масштабироваться до микросекундных задержек. В основном процессор будет тратить все время на обслуживание прерывания.
Можно ли запросить значение SYSTICK_GetCurrentValue в цикле и определить, сколько тиков происходит в микросекундах и выходить из цикла, когда число тиков превышает вычисленное число?
Я бы предпочел не использовать отдельный аппаратный таймер для этого (но будет, если нет другого выбора)