キューを使ったアプリ【STM32とFreeRTOS】
タスクとキューを組み合わせたアプリです。このプログラムは実用的ではないのですがキューの概念をわかりやすく理解する学習のためのサンプルプログラムです。
初期設定でxQueue = xQueueCreate(16, sizeof (int8_t))を実行して16個分のキューを確保しています。
1つ目のタスクではコマンド(”start@”)を入力して、成立条件を満たしたときに10個のキューを順次渡しています。タスクのサイクルタイムは10msで短めに設定しています。
2つ目のタスクではキューの順番にしたがって文字列表示します。タスクのサイクルは表示用として500msで長めに設定しています。
サンプルプログラムの機能はまとめると以下のようになります。
プログラムを起動するとコマンドコード待ちの状態で待機していますのでPCのターミナルソフトからコード"start@"を与えます。するとSTMマイコン側の受信処理で10個のパラメータIDをキューに送信します。
キューにIDが送られると、キューの順番にしたがって表示を実行するタスク内(500msサイクルで表示)でキューIDに応じて順次ID番号を表示していきます(PC側にID表示を送信)。
このプログラム自体はあまり実用的にみて意味があるものではないのですが、キューの概念が理解できると思います。
キューをつかったアプリケーション
1 ファイル 6.42 KB