1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Arduino のウォッチドッグタイマが失敗してハングする

Posted at

~ 問題 ~

先日購入した Arduino MEGA2560 を長期稼働させていると定期的にハングアップしている。デバッグで Serial 出力しているので位置は特定できる。どうもウォッチドッグタイマ(以下WDT)が異常のようだ。

WDTリセットがかかるタイミングで 必ずハングする 。プログラムを見てもおかしいところは見当たらない。というのもWDTカウント開始とWDTカウントクリアしか関数がない。 リセットボタンを押してもハングしたまま 。とても困る。

~ 答え合わせ ~

実は純正品 Arduino ではハングしない。コピー品がまずい。しかしハードウェアコンパチであるので性能差はない。

原因は AVRマイコン の方にある。実はこいつ WDTリセットがかかった後、WDTカウント解除しない 。純正品のブートローダーは上手い具合に起動と同時にWDTカウント解除してくれていたのだ。

ブートローダーは Arduino がもう一台あれば Arduino IDE から更新できる。さあ書き換えよう。

~ 余談 ~

Arduino MEGA2560 がとても高価なためサインスマートから購入して使っていた。安い。今度は Arduino UNO の CH340 のUSBシリアル通信チップが載ったバージョンだ。安すぎる。

異常系のテストをあれほどしておけと...

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?