2017-07-25 4 views
0

私は最初のlibusb非同期転送を設定していますが、コールバックを受け取ることはありません。libusb_submit_transferコールバックなし

私はライブラリに接続しており、デバイスを列挙して正常に開くことができます。

次のように(この順序で)転送を設定するために使用されている機能は次のとおりです。私はそれを返す場合でも、コールバックを受け取る見ると期待するよう

libusb_alloc_transfer() 
libusb_fill_bulk_transfer() 
libusb_submit_transfer() 

libusb_submit_transferは、成功した結果を返します。エラーは受信されません。

何が間違っている可能性がありますか?

答えて

1

libusb documentation状態:軽量ライブラリであることの興味で

、のlibusbは、スレッドを作成しないと、アプリケーションがそれに呼び出しているときのみ動作することができます。イベントが処理される準備ができたら、アプリケーションはメインループからlibusbを呼び出さなければなりません。あるいは、libusbが何か作業を行う必要がある場合には他のスキームを使用する必要があります。

つの統合レベルが提案されています

  • Simple:あなたは
  • Advancedアプリケーションのメインループコンテンツとしてブロッキング呼び出しを使用します。あなたはその記述子のいずれかの要求のlibusbとは、あなたとそれらを混在させることができ、追加/削除された記述子を通知するためにコールバックを登録する(libusb_set_pollfd_notifiers())。

後の使用例libmaru project

+0

おかげで見つけることができ、私は、任意のコールバックを受信して​​いないため、 'libusb_handle_events'または類似を使用してのlibusbサービスしていませんでした – dynamode

関連する問題