この質問は意味がない場合は申し訳ありません。私はc#でGUIを作成して、コントローラとの間でデータを送受信します。私は非常に奇妙な宮殿で立ち往生した。私はコントローラにデータを送信してコントローラが私に確認を返すべきだとしましょう。私は承認を取り扱っています。私の質問は、私はコントローラから何も得られなかった場合、私はエラーを発生させたいデータを送信した後です。特定の時間間隔でシリアルポートからデータを受信しました。#
2
A
答えて
2
port_receiveイベントで、 "dataReceived"フラグをtrueに設定します。 timer.Elapsedイベントハンドラで、この値がfalseの場合、データは時間内に受信されず、エラーがスローされます。以下の例は、同様のことを示しています。DataReceivedメソッドは、port_receiveメソッドを表しています。タイマー間隔と遅延で遊んで、データが時間内に受信された場合、エラーメッセージが表示されないことを確認できます。
using System;
using System.Threading.Tasks;
using System.Timers;
namespace ConsoleApplication7
{
class Program
{
static bool dataNotReceived = true;
static readonly Timer timer = new Timer {Interval = 1000};
static void Main(string[] args)
{
timer.Elapsed += (sender, eventArgs) =>
{
if (dataNotReceived)
{
Console.WriteLine("Data not received, error thrown...");
throw new Exception();
}
};
timer.Start();
DataReceived();
Console.ReadLine();
}
static async Task DataReceived()
{
await Task.Delay(2000);
Console.WriteLine("Data received in time");
dataNotReceived = false;
timer.Stop();
}
}
}
1
は今、あなたは答えを待っていることでTimeoutExceptionを得ることができ、この
SerialPort Port = new SerialPort()
//Define baudrate and so on
Port.ReadTimeout = 1000;
ようSERIALPORTのReadTimeoutを使用してください。
Port.Write(Request);
try
{
//waiting for an answer
Port.ReadByte();
}
catch (TimeoutException)
{
//No answer until timeout
}
関連する問題
- 1. サーバ - クライアント間の通信は時間間隔でデータを送受信します
- 2. データは特定の時間間隔で渡されます
- 3. 特定の時間間隔で最高値を示します。
- 4. 特定の時間間隔のデータをPythonで取得する
- 5. 特定の時間間隔でURLを開くためのJavaScript
- 6. 特定の時間間隔でアラームマネージャが機能しない
- 7. アナウンスをXまたはあらかじめ定義された時間間隔で送信しますか?
- 8. POSTFIX - 時間間隔でユーザーが送受信を制限する
- 9. シリアルポートからデータを取得し、日時で設定時間を使用する#
- 10. 1時間から1時間の間、15分間隔でアーカイブテーブルからの積分を測定します。
- 11. いくつかの時間間隔内でシングルタップジェスチャーを特定します。
- 12. 特定の時間にデータが重複しないようにする間隔
- 13. 等しい時間間隔の後にデータベースからデータを取得します。
- 14. Javaで一定の時間間隔で多くのデータを追加します。
- 15. Pythonで特定の時間中にシリアルポートでデータを待っています
- 16. 特定の時間間隔でアニメーションを追加する
- 17. BroadCastReceiverは、着信をリッスンし、時間間隔の間に仕事をします
- 18. 特定の時間間隔の後にサブフォルダを削除します。
- 19. 特定の時間間隔でのMule ActiveMQ
- 20. 一定の時間間隔でデータを取得する
- 21. 特定の時間間隔で繰り返されるタスク?
- 22. 特定の時間から別の時間までのループスルー
- 23. 特定の単語を表示する特定の時間間隔の後に
- 24. 一定時間間隔でAndroidデータをアップロード
- 25. laravel 5.3から一定の時間間隔をおいてからフォームを送信してください。
- 26. JavaScriptで一定の時間が経過してから間隔を空ける
- 27. vbscriptでの時間間隔の時間
- 28. 特定の時刻に起動し、特定の間隔で実行する
- 29. 時間間隔
- 30. アプリケーションがデバイスに入るまでの特定の時間間隔でのメソッドコール
それはあなたのコードに多くを依存していますが、偽の応答を=設定することができます。指定されたタイムアウトの後に、タイマーを起動します。応答がまだfalseの場合は、例外を発生させます。 – BugFinder
私は、データを取得するport_receiveイベントを持っています。どのようにtimer_click –