MyMain関数のすすめ

リセットするとすべてのデータが消えてしまう。
でも、初期化ルーチンをもう一度呼び出したい。
そんなことがありませんか?

そういうときに活躍するのがMyMain関数です。

main 関数からMyMain関数を呼び出し、通常はMyMain関数で作業を行います。

何かしらのエラーが発生すると、MyMain関数内でreturnすることで、MyMainを抜けます。

そして、復帰前の処理を行って、main関数のwhileループでまたMyMain関数を呼んでやれば
リセット動作の出来上がり。

便利なので私のプログラムでは頻繁に使用しています。


void MyMain(){
 //何度も呼び出されるため、使うパラメータはここでは初期化しない。

 //初期化ルーチンを書く

 while(1){


  if(SomeErrorOccurred){
   SomeErrorOccurred = FALSE;
   return;
  }
 }

}


int main(){
 // 最低限の処理

 while(1){
  MyMain();

  //復帰前処理をここに書く

 }
 return 0;
}