皆様こんにちは、MXKazと申します。RX621(MTU2)で動いていたコードをRX65N(MTU3a)でも動かしたくて四苦八苦行きしており詰りました。どなたかご教授お願いします。
MXkazさん おはようございます。 NAKAといいます。
ちゃちゃっと書いたら、割り込みに飛びました。確認してみてね!
//***********************************************************************// 関数名 : fn_Init_MTU0(void)// 動作 : マルチタイマユニット0の初期化 // 引数 : // 作成 :…
MXkaz さんこんにちは。
この情報だけでは何とも言えないのですが。
気になるのは「MSTP(MTU0)」マクロで、これは多分「MSTPCRA」レジスタの省電力切り替えだと思います。
RX65x では、省電力切り替えレジスタにアクセスする前に、書き込み許可を与えないと、アクセス出来ない点です。
「レジスタライトプロテクション機能、プロテクトレジスタ (PRCR)」の項目を参照して下さい。
※MSTPマクロの中で、PRCRレジスタのプロテクト解除を行っているのなら問題ありません。
hirakuni45さん、こんばんわ。
ご教授ありがとうございます。MSTP(MTU0)については、以前RX621の開発時にマクロつかいましたがその辺の経緯は完全に失念しております。「レジスタライトプロテクション機能、プロテクトレジスタ (PRCR)」の項目を参照しましたが、自分の知識レベルではまだ理解できておりません。さらに調べてみます。
ありがとうございました。
こんにちは。
MSTPマクロをいじっていなければ、過去のリプライでNAKAさんが仰っているように
これで省電力切り替えになるかと。
SYSTEM.PRCR.WORD = 0xA502; // MSTPCRA(他)レジスタへの書き込み許可MSTP(MTU0) = 0; // 省電力機能解除 (=モジュール動作)SYSTEM.PRCR.WORD = 0xA500; // MSTPCRA(他)レジスタへの書き込み禁止
mushipanさん、こんばんは。
早速試してみましたところ割り込みがかかりました。ありがとうございました。自分使っているRENESUSのTarget BoardはHOCOとLOCOの設定が有効になっています。MTU割り込みのCLOCKはLOCOが使われているみたいで・・周波数は多分設定でいかようにもなると思います。自分で調べて、ギブアップしたらここのお世話になります。
どうもありがとうございました