Представим что мы работаем в Linux на PC и нам нужны задержки с точностью до единиц микросекунд (напомню, что микросекунда - это которых один миллион в одной секунде) - скажем для того чтобы выдерживать нужные промежутки времени для управления
программатором пиков. Как это сделать если точность клоков и шедулеров в Linux всего 4 миллисекунды (напомню, что миллисекунда - это которых одна тысяча в одной секунде) или говоря на языке частот 250 Гц?...
Вот решение полученное мной после нескольких часов мучительных блужданий и поисков
us_delay(us) - задержка в микросекундах
ms_delay(ms) - задержка в миллисекундах
при сборке надо указать ключик -lrt
в коце работы программы можно напечатать ошибку в микросекундах - max_timer_error - она может быть достаточно большой (до нескольких миллисекунд) если системе во время работы задерживательных функций зачем-то понадобилось что-то поделать - при этом управление у нашей программы отбирается на некоторое непредсказуемое количество времени разумной длины (не в реал-тайм системе работаем однако) - но для работы
программатора пиков и этого оказалось достаточно