0

私はSTM8タイマー(私のコードではなく、それを維持しています)を使用しており、その中でタイマーを使用しています。どうやらクロックは 16MHz erfo 0.0625uS に設定されているようです。タイマーの設定は ARRH=0x03 ARRL=0x20 であるため (0x0320=800) 800 でリセットされます (エルゴ 50us) PSCR は 0 に設定されるため、タイマーはマイクロと同じ周波数になります。

とにかく、これをオシロスコープでチェックすると、良い読み取り値が得られません。タイマー割り込みは、56us、54uS、54uS、52uS、52uS、52us、38us(!!!)、42us(?)、50us、50us....で呼び出されます。

不思議なことに、500uS を与えるので、50uS の 10 倍としてカウントされます。

タイマー割り込みの最初の 8 回は AD 変換が行われているため、その間にも AD 割り込みが呼び出されている可能性があります。

1) これはタイマーの頻度に影響していると思いますか?

2) 38uS で割り込みを発生させることによって、それ自体を「修正」するのはなぜですか??

正確な回答にはコードを調べる必要があることを知っているので、組み込みまたはSTM8の経験に基づいたコメントをいただければ幸いです...

4

1 に答える 1