PIC32MX CoreTimer Delay 関数

PIC32

以前よくわからないCoreTimerの使い方を書きましたが、今回はシンプルに。
参考にしたのはこちら。
Core timer handler stops updating ?

更にmCTが使えなくなっているので、16/08/27バージョン。100nはPICの速度によって使えなかったり。固まるのでわかるかと。割り込みには対応していないので、基本的にはmain関数内のみ。または同じ割り込みレベルのみ。

whileの上の行をwhileの下に書けば、ちゃんと動く気はしますが、割り込みが全部止まるので、使い物にはならないでしょう。最上位割り込みならおkかな。

 

 

1u delay ですが、割り込み禁止などの処理が入っているので、さらに1uほど遅れます。

とすれば、大体2uになります。
1msecの関数もありますが、単にusecだと桁が多すぎて間違えそうなので作っただけで、1usecの関数でもおkです。

これで、PICの動作周波数を変えても確実にdelayができます。Nop();の連打は変わりますので。

MIPS16にはCoreTimerが対応していないので、MIPS32でコンパイルする必要があります。

PIC32


PAGE TOP
Top