SH2 (SH7144)のソフトウェアスタンバイ
初めて質問します。
マイコン初心者なので宜しくお願いします。
SH-7144で、ソフトウェアスタンバイをIRQ3から解除したいのですが、うまくいきません。
環境は、HEWを使ってます。
実験中の為コメント付きの汚いコードになってますが、あらかじめ失礼します。
以下コードです。
// スリープ時の処理を設定
SBYCR.BIT.SSBY = 0x01; // SLEEP 命令実行後、ソフトウェアスタンバイモードに遷移
//SBYCR.BIT.HIZ = 0x01; // ソフトウェアスタンバイモード時に、端子状態をハイインピーダンス
SBYCR.BIT.HIZ = 0x00; // デバッグ用
//SBYCR.BIT.IRQEH = 0x01; // IRQ7~4 ソフトウェアスタンバイモードの解除を無効にする
SBYCR.BIT.IRQEH = 0x00; // デバッグ用
SBYCR.BIT.IRQEL = 0x00; // IRQ3~0 ソフトウェアスタンバイモードの解除を有効にする
//INTC.ICR1.BIT.IRQ3S = 0x00;
//INTC.ICR2.BIT.IRQ3ES = 0x00;
INTC.ICR1.BIT.IRQ3S = 0x01;
INTC.ICR2.BIT.IRQ3ES = 0x00;
INTC.IPRA.BIT._IRQ3 = 0xF;
~~~~~~~~~中略~~~~~~~~~~~
// 42PIN を Port A.PA9 から IRQ3 として使用する
PFC.PACRL1.BIT.PA9MD = 0x02;
//INTC.IPRH.BIT._WDT = 0xF;
WDT.WRITE.TCSR = 0xA55F; // WT/IT = 1, TME = 0, CKS2,1,0 = 0
//WDT.WRITE.RSTCSR = 0x5A5F;
sleep();
以上コードでした。
//INTC.ICR1.BIT.IRQ3S = 0x00;
//INTC.ICR2.BIT.IRQ3ES = 0x00;
INTC.ICR1.BIT.IRQ3S = 0x01;
INTC.ICR2.BIT.IRQ3ES = 0x00;
の部分ですが、本来IRQ3がローの時にスタンバイ解除したかったのですが、
ハードウェアマニュアルの低消費電力状態の項目には、立ち上がり・立ち下がりエッジでの表現しかなかったため上記のような状態になりました。
WDTのみでパワーオンリセットが出来る事と、IRQ3だけで割り込みが出来る事は確認出来たのですが、どうしてもスタンバイの解除が出来ません。
それと、スタンバイの解除が出来た場合は、WDT同様にパワーオンリセットになると考えて宜しいでしょうか。
アドバイス等でも宜しいのでお願いします。
お礼
一応ハードウエアマニュアルは熟読しているのですが・・・ ルネサスに聞けというのは確かにその通りでした。 ありがとうございます。