Linux 内核块 urb

块 urb 被初始化非常象中断 urb. 做这个的函数是 usb_fill_bulk_urb, 它看来如此: void usb_fill_bulk_urb(struct urb *urb, struct usb_device *dev,

 

unsigned int pipe, void *transfer_buffer, int buffer_length, usb_complete_t complete, void *context);

 

这个函数参数和 usb_fill_int_urb 函数的都相同. 但是, 没有 interval 参数因为 bulk urb 没有间隔值. 请注意这个 unsiged int pipe 变量必须被初始化用对 usb_sndbulkpipe 或者 usb_rcvbulkpipe 函数的调用.

 

usb_fill_int_urb 函数不设置 urb 中的 transfer_flags 变量, 因此任何对这个成员的 修改不得不由这个驱动自己完成.

posted @ 2019-07-07 19:16  樊伟胜  阅读(261)  评论(0编辑  收藏  举报