nanospin_count()

Ожидать без блокировки на протяжении заданного количества итераций

Прототип:

#include <time.h>
void nanospin_count( unsigned long count );

Аргументы:

count
Количество итераций, которое необходимо ожидать.

Библиотека:

libc

Описание:

Функция nanospin_count() ожидает количество итераций, определяемых count. Следует использовать nanospin_ns_to_count() для перевода наносекунд в итерации, подходящие для nanospin_count().


Note: Функции nanospin*() предназначены для использования с аппаратурой, которая требует коротких временных задержек между операциями. Их следует использовать для задержки не более, чем в несколько миллисекунд. Для более долгих задержек следует использовать функции POSIX timer_*().

Примеры:

Ожидание минимум 100 наносекунд:

#include <time.h>
#include <sys/syspage.h>
unsigned long time = 100;
...
/* Wake up the hardware, then wait for it to be ready. */
nanospin_count( nanospin_ns_to_count( time ) );
/* Use the hardware. */
...

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Да
Обработчик сигналов
Да
В потоке
Да

Предостережения:

Следует использовать ожидание только тогда, когда это необходимо для доступа к аппаратуре.

Тематические ссылки:

nanosleep(), nanospin(), nanospin_calibrate(), nanospin_ns(), nanospin_ns_to_count(), sched_yield(), sleep(), timer_create()




Предыдущий раздел: Описание API системной библиотеки