mac です。 "Hirashita" <iced@xxxxxxxxxxxxxxx> wrote: > 外部クロック時、リセットを考えなくても安全に起動する、って事みたいですね。 > よく出来てますねぇ>PIC > > ん?Static動作可能だからリセット期間中にクロック不要、って話じゃ無いですよね? もちろん (^^; 動作中 Clock が、 fclock max 以下なら、どんなに変動したって、そ れなりに動いて、「誤動作」することはないという話です。 それと、動作中何の前触れなしに、 Clock を止めても、クロック供給 を再開すれば、その場所から何事もなかったように動くわけですね。 H8/300H の場合は、最低クロックが規定されているので、 それ以下に なるとレジスターの値は保証されません。 Clock 止めない Sleep なら 良いけど、 Standby Mode に移行するには、それ相応の準備が要ります ね。 あと H8/300H には、動作中にクロック分周比を変化させられるものも 多いですが、ペリフェラル、特に ITU, SCI の周波数も同時に変わって しまうのが、厄介な問題ですね。 実は今、そういうアプリケーションをやっているんですが、 RTOS 用の tick は、外部で発生させて IRQ に入れてます。 単純に ITU のコンペ アレジスタを変えればよいと思ったら大間違いで、値を増やす分には良 いけど、減らすときに、 その時点での TCNT の値以下にしてしまった ら、 0xffff で オーバーフローして、戻ってくるまでリセットしませ んからねえ。 コンペアレジスタの書き換えが不必要な場合、たとえば Full Speed で 動いているとき、すべてのタイマーの分周比 (TPSC) が 1/8 で、 CPU Clock を 1/8 にするとき、 TPSC を 1/1 にするなら、まだいけそうで すが、 TPSC を全部同時に変えられないので、各タイマーの位相関係が 問題になるアプリケーションではそれすらできません。 Clock を 1/8 にすれば、消費電力もほぼ、 1/8 になってくれるので、 その点では大変魅力的なのですが、 ITU , SCI を使っていると 、結局 この機能は、キー入力待ちのような、ほかにほとんどなのもしないとき にしか、使えないんですよね。 -- mac