複数タスクの切り替えその2【STM32とFreeRTOS】
![](https://depfields.com/wp-content/uploads/2020/06/programming-1873854_640.png)
タスク切替とUSART通信を組み合わせたプログラムで、外部から与えたコマンドコードが一致するかしないかでタスクの実行、停止を管理しているサンプルプログラムです。
![](https://depfields.com/wp-content/uploads/2020/05/instructor.jpg)
あらかじめタスク切り替え用にコマンドコードを設定しておき、外部から与えたコードが一致したときにコマンドコードで指定したタスクを実行し、他のタスクは停止するプログラムです。
![](https://depfields.com/wp-content/uploads/2020/06/rtos-led-nucleo2.jpg)
![](https://depfields.com/wp-content/uploads/2020/05/instructor.jpg)
今回は入力スイッチの代わりにコマンドによりタスクAとタスクBを切り替えます。コマンド文字列”TaskA@”を与えるとタスクAが、”TaskB@”でタスクBに切り替わり画面に表示します。
コラム
コマンドの語尾に'@'があるのは入力文字列の終端を認識するためです。'@'のかわりにエンターキー(CR)入力を終端とできますが、この場合のアスキーコードは0x0Dです。