組込み+RTOS > C > 70秒待ち > 46秒で処理が終わる > 実装ミス
653 ワード
動作環境
とある組込みシステム + RTOS
とある組込みシステムで70秒のカウントダウンを行っていた。
カウントダウンが終わるのは46秒。
何故か。
理由
- 1000ミリ秒待機処理に加えて300ミリ秒のシリアル受信待ち
- 1.3倍
- カウントダウンする関数を用意
- その関数を2回呼んでいた
- 1/2倍
70秒 / 2 * 1.3 = 45.5秒
備考
関数内でカウントダウンやカウントアップする処理をしている場合、その処理がN秒に1回などの指定通りにコールされるように実装しないといけない。
別の案としては、クロックを使った経過時間の判断にする。
Author And Source
この問題について(組込み+RTOS > C > 70秒待ち > 46秒で処理が終わる > 実装ミス), 我々は、より多くの情報をここで見つけました https://qiita.com/7of9/items/325bea065a49bc56f473著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .