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);
}
}