前回、RXマイコンを使用して、DataFlashにデータを保存する機能を構築しました。DataFlashへの保存をする時に、下記のようにコーディングしました。
err = R_FLASH_Write((uint32_t)&counter, FLASH_DF_BLOCK_0, FLASH_DF_MIN_PGM_SIZE); if(err != FLASH_SUCCESS) { while(1) ; }
R_FLASH_Write関数を呼ぶと、書き込みが完了するまでは、復帰しません。ブロッキングモードに設定してあるためです。書き込みが完了するまで、待っていられない処理はもちろんあります。そのような時は、BGO (バックグラウンドオペレーション)モード(ノンブロッキングモード)を使用します。BGO モードを使用すると、API 関数は、処理を開始した直後に復帰します。そのため、書き込みを完了するまえに別の処理を行うことができます。
それでは、前回のプロジェクトを改良して、BGOモードでの動作にしたいと思います。前回の内容は下記のページに記載されています。