シリアルポートは一般に公開されており、スレッドは常にそのポートで機能します。1つ以上の優先度の高いスレッドが実行時に作成されます。メインスレッドとの競合はなく、ポートで動作し、完了すると破棄されます。これらのスレッドをスケジュールし、シリアルポートへのアクセスを管理するにはどうすればよいですか?
ありがとう。
多数のスレッドを作成していて、常に1つのスレッドのみをシリアルポートで動作させたい場合(一度に1つのスレッド)、セマフォを使用してアクセスを管理できます(衝突しないようにします)。
ただし、使用するスケジューリングアルゴリズムは、純粋にニーズによって異なります。複数のスレッドを作成する場合は、pthread_create
2番目のパラメーターで属性(優先度など)を設定するための柔軟性が高いAPIを使用する必要があると確信しています。そのパラメータを使用して、優先度レベルを設定してください。それらの優先順位を考慮してスケジュールすることも、タイムスライス手法を使用することもできます。
あなたの質問を分析するとき、あなたはいくつかの開発委員会で働いているように見えます。RTOSコードの場合は、セマフォとともにプリエンプションメカニズムの実装を試すことができます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加