キューを使ったアプリ【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表示を送信)。

めかのとろ

このプログラム自体はあまり実用的にみて意味があるものではないのですが、キューの概念が理解できると思います。

接続図