while(1)のbreakの注意点

beautiful_picture

while(1)のbreakの注意点beautiful_picture

こんにちは皆さん。今回はC言語のwhile(1)の抜け出し方に言及します. 私の場合はbreak文をif文で囲ってwhile文の脱出をしてますが, たまにそれができないことがわかりました. ですので今回はその原因の一つをここに記します.項目は以下の通りです.

  • 割り込み処理のタイマーが原因
  • エラー文として処理されない

割り込み処理のタイマーが原因picture_of_toy

原因の一つとして割り込み処理のタイマーが原因です. 理由はわかってませんがタイマーを追加するとなぜか関数内のwhile文から脱出できないことがわかりました. 私が使っているCPUはRenesas ElectronicsのRX631のプログラムではCMT0 やCMT1というタイマーがありまして, ここのタイマーをいじってた後にこのブログをかいてます。

エラー文として処理されないaround_gear

このタイプの問題はエラー文として開発環境のパネルに表示されないんです. 自分はロボットにプログラミングをしている最中にこの問題を発見しました. したがってプログラムとしての文法が間違ってなくても, 見えないエラーがあるということです. これはやっかいです. 注意しましょう.

 

終わりに

今回はC言語のwhile(1)の抜け出し方に言及しました. 私の場合はbreak文をif文で囲ってwhile文の脱出をしてますが, たまにそれができないことがわかりました. プログラミングのエラー文にはこのようなパネルに表示されないケースも起こるということがわかりました.

ABOUT US

Eita
こんにちは,えいたです.(@Eita32751796)ロボットに家事全般を任せることが夢です('ω')ノ 趣味はロボット製作,洋画やアニメや大河ドラマを見ること,ファッション,Youtuberのゲーム実況鑑賞,美容の勉強,料理調査,運動です./ 最近は マイコンボード製作に没頭/ 『レ・ミゼラブル』鑑賞/ 『進撃の巨人』/ 『青天を衝け』/ 『GU』/ 『FULLGUYS』実況鑑賞/ 『家庭用脱毛器』がほしい/ ヴィーガン料理を作りたい/ 夕方にジョギングしたいがさぼりがち/