2017-04-30 26 views

答えて

4

ウォッチドッグタイマの使用はhttp://www.arduinolibraries.info/libraries/free-rtosで「公式」Arduinoのポートとのできない機能に固有の設定で例えば

、特にFreeRTOS。この実装については、https://feilipu.me/2015/11/24/arduino_freertos/に詳しく説明されています。

ウォッチドッグタイマーはシステムチックタイマとして使用されます(他のすべてのタイマーはArduinoフレームワークで使用するように設定されているため)。その場合、ウォッチドッグ・タイマは通常の目的には使用できません。また、非同期にリセットすると、スケジューラのタイミングが乱れることがあります。

このようなウォッチドッグタイマーを使用すると、単一のポートがすべてのArduinoデバイスで使用可能なタイマーソースであり、Arduinoフレームワークが制御権を握らないため、すべてのAVRベースのArduinoハードウェアで動作するようになります。オンチップの128KHzオシレータは特に正確でも温度安定でもないため、これは最適ではありません。

ウォッチドッグが意図された目的のために必要な場合は、使用しない(アプリケーションによって)標準タイマーを使用するようにポートを変更することをお勧めします。ウォッチドッグの使用は、タイマの使用に関係なく、すべてのArduinosおよびすべてのアプリケーションへのポートの移植性を確保することでした。ただし、ハードウェアとアプリケーションで作業するだけで済みますので、それに合わせることはまったく正当なものです。

代わりに、Arduinoのフレームワークとライブラリを完全に放棄して、未使用のAtmel AVRマイクロコントローラとして扱うだけです。たとえば、this Arduino FreeRTOSポート以外のポートは、ATMega323でタイマー1を使用しますが、他のAVRデバイスに合わせて変更するための情報を提供します。

関連する問題