マイコン入門spacer ad
トップページに戻る(マイコン徹底入門:STM32で始めるARM/Cortex-M3組み込み開発)
「マイコン徹底入門」とは? |  「マイコン徹底入門」を読む |  ダウンロード |  掲示板 |  筆者の自己紹介


Previous: 3.1.6. カーネルによるタスクの切り替え

Up: 3.1. タスクの登録と実行

Next: 3.2. タスクにパラメータを渡す(整数値)


マイコン徹底入門:RTOS編:フリーのリアルタイムOS活用法: 3. タスク管理: 3.1. タスクの登録と実行:

3.1.7. main関数の終端の処理

 main関数の最後では、以下のようにして無限ループを挿入しておきます。vTaskStartScheduler関数は内部で無限ループになっているので、通常はvTaskStartScheduler関数の次の関数が実行されることはありません。ただしカーネルの実行中にメモリ不足となった場合には、vTaskStartScheduler関数が終了して、次の行が処理させることになります。ここでエラーを通知させるような命令を入れておけば、メモリ不足を検知するといった処理ができます。

while(1);

 これでFreeRTOSを使用した複数のタスク起動は完了です。あとはタスク関数内にそれぞれ命令を実装していくだけで、マルチタスク処理が実現できます。サンプルプログラムではタスクを2個だけ登録していますが、タスクが複数になる場合には、xTaskCreate関数で登録する関数を増やすだけです。


Previous: 3.1.6. カーネルによるタスクの切り替え

Up: 3.1. タスクの登録と実行

Next: 3.2. タスクにパラメータを渡す(整数値)


このページはITと知的財産の法律情報「法務ネット」の管理人が制作・運営しています。