Тики должны иметь заданную частоту. 1000 Гц -> прерывание и переключение задач срабатывают каждые 1 мс. Это будет не совсем так, особенно если у вас есть другие прерывания. Но он должен сохранять эту частоту.
Я полагаю, что вы сможете сравнить два числа тиков и поделить их на частоту тиков, чтобы получить задержку.
Другим классическим приемом было бы напрямую переключать вывод GPIO в начале временного интервала и снова в конце (повторно), а затем использовать осциллограф для захвата интервала. Это должно дать очень точный результат в реальном времени.
Вы также можете задать список FreeRTOS .