libusb:libusb_bulk_transfer的timeout引數問題

crazy_baoli發表於2019-01-10

timeout引數

1. bulk in:在指定的timeout引數時間內會一直阻塞等待接收,0為一直阻塞等待。

while(1)

{

rec = libusb_bulk_transfer(dev_handle, 0x81, rev_buf, 200, &size, 0);

if(rec == 0)

{

printf("rev sucess,length:%d ,data is: %s\n",size,rev_buf);

printf("\n\n");

}

else

{

printf("rev faild\n");

sleep(1)

}

}

實驗,Ubuntu環境下。

1)將timeout設定20ms,sleep()設定為20ms有較好的響應效果,偶爾有丟包。

2)將timeout設定為0,不使用sleep(),響應效果非常好,未發現丟包現象。

 

2. bulk out:timeout設定為0即可

相關文章