Previous: 3.1.1. ヘッダファイルのインクルード |
Up: 3.1. タスクの登録と実行 |
Next: 3.1.3. タスクの登録 |
プログラムではまず、RTOSを使用しない場合と同じく、STM32の各周辺回路の初期化を行います。公式のサンプルプログラムではprvSetupHardware関数内に初期化関連の関数をまとめるのが流儀のようなので、本書でもこれに倣っています。FreeRTOSでは、ローカル関数の関数名の先頭にprvを付けるルールになっています(おそらくprivateの略でしょう)。このルールに従わなくてもプログラムは動作しますが、ソースを読みやすくするためには、このルールに準拠して作成した方がよいでしょう。
void prvSetupHardware( void ) { ? /* System Clocks Configuration **********************************************/ ? SystemInit(); ? // Set vector table location ? NVIC_SetVectorTable(NVIC_VectTab_FLASH, VECTOR_OFFSET); ? // Setting up COM port for Print function ? COM_Configuration(); } |
関数の中身はこれまでのサンプルと特に変わりがありません。main関数からは以下のようにして呼び出しています。
prvSetupHardware(); |
Previous: 3.1.1. ヘッダファイルのインクルード |
Up: 3.1. タスクの登録と実行 |
Next: 3.1.3. タスクの登録 |