Настроить блок 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