1

USBインターフェースを使用してSTM32マイクロコントローラーを制御したい。Jan Axelson(http://www.lvr.com/hidpage.htm#MyExampleCode)は、現在私のベースソースであるUSBHIDクラスの使用法を示すいくつかのアプリケーションを作成しました。

Filestream.BeginRead()デバイスに保留中のデータがあるかどうかを確認するために、ルーチンを呼び出すスレッドを作成しました。このリクエストを中止/キャンセルしたいのは、そのスレッドを終了した後もまだ開いている/ブロックされているためです(スレッドループをキャンセルする変数を設定します)。ですから、このBeginRead()通話をキャンセルするにはどうすればよいのでしょうか。または、USBデバイスの継続的に送信されたデータをチェックする方法についてより良いアイデアがありますか?

// USB read data from device thread
while (boRunThread)
{
    if (boStopThread)
    {
        // perform clean-up, cancel BeginRead
        // ... Abort(ar)???
    }
    if (botransfer == false)
    {
        botransfer = true;  // Signal pending transfer
        ar = fileStreamDeviceData.BeginRead(inputReportBuffer, 0, inputReportBuffer.Length, callb, inputReportBuffer);
    }
}
4

0 に答える 0