usbd_setup_isochronous()

Настроить блок URB для изохронной передачи данных

Прототип:

#include <sys/usbdi.h>
int usbd_setup_isochronous( struct usbd_urb *urb,
uint32_t flags,
int32_t frame,
void *addr,
uint32_t len );

Аргументы:

urb
Дескриптор блока URB, возвращаемый функцией usbd_alloc_urb().
flags
Принимает значения, соответствующие параметру flags функции usbd_setup_control, а также опционально по "ИЛИ" может быть добавлено:
URB_ISOCH_ASAP
позволяет выполнить передачу как можно быстрее (переопределяет кадр).
frame
Номер кадра устройства. Данный параметр игнорируется, если установлен флаг URB_ISOCH_ASAP.
addr
Адрес начала передачи, для которого необходимо использовать адрес буфера, выделенного вызовом usbd_alloc().
len
Длина передачи данных в байтах.

Библиотека:

libusbdi

Описание:

Функция usbd_setup_isochronous() настраивает блок URB для изохронной передачи данных.

Возвращаемое значение:

EOK
Успешное завершение.

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

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

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

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

usbd_descriptor(), usbd_feature(), usbd_io(), usbd_setup_bulk(), usbd_setup_control(), usbd_setup_interrupt(), usbd_setup_vendor(), usbd_status()




Предыдущий раздел: Библиотека libusbdi