Ожидать без блокировки в течение заданного промежутка времени
#include <time.h>int nanospin_ns( unsigned long nsec );
libc
Функция nanospin_ns() ожидает в течение nsec наносекунд без блокировки вызывающего потока.
Функции nanospin*() предназначены для использования с аппаратурой, которая требует коротких временных задержек между операциями. Их следует использовать для задержки не более, чем в несколько миллисекунд. Для более долгих задержек следует использовать функции POSIX timer_*().
Из-за способа измерения времени функция может ожидать дольше заданного времени. |
При первом вызове nanospin_ns() библиотека C вызывает nanospin_calibrate() с аргументом 0
(прерывания разрешены), если до этого функция не была вызвана явно.
500
миллисекунд. Задержка более, чем в несколько миллисекунд, может не работать для некоторых процессоров. Для более долгих задержек следует использовать функции POSIX timer_*(). |
ЗОСРВ «Нейтрино»
Необходимо использовать ожидание только тогда, когда это абсолютно необходимо для доступа к оборудованию.
Вызывать эту функцию из обработчика прерываний небезопасно, если функция nanospin_calibrate() еще не была вызвана.
nanosleep(), nanospin(), nanospin_calibrate(), nanospin_count(), nanospin_ns_to_count(), sched_yield(), sleep(), timer_create()
Предыдущий раздел: Описание API системной библиотеки