Цитата(zheka @ Apr 16 2015, 09:12)

Как мне в сложившихся условиях (невозможность отключить RTOS и отсутствие специальной функции в ней) получить функцию, осуществляющую задержку на заданное число микросекунд?
Если не запрещать прерывания и переключение задач, то это будет задержка "N микросекунд или больше", естественно.
А решение очевидное: простой цикл ожидания с использованием одного из аппаратных таймеров. Если не злоупотреблять, то существенного общего замедления программы не будет. Кстати, в STM32F4 есть очень удобный для этих дел счётчик тактов процессора DWT_CYCCNT.
Код
void delay(unsigned int ticks)
{
unsigned int start = DWT_CYCCNT;
while (DWT_CYCCNT - start < ticks); /* wait */
}