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;
}