RX63N 「12bitAD終了割込み許可」と「PSW割込み許可ビット」について

質問失礼致します。

RX63Nマイコンプログラム構成について疑問点がございますので、

ご教示頂きたく存じます。

12bitAD変換処理のイニシャライズ完了後に、

12bitAD終了割込み許可「S12AD.ADCSR.ADIE = 1」とし、

その後プロセッサステータスワード[PSW]の割込み許可ビットを「1」にしプログラムはメインルーチンに入ります。

もしプロセッサステータスワード[PSW]の割込み許可ビットを「0」のままとした場合、

AD変換終了割込みは入らないのでしょうか。

初歩的な質問で大変恐縮ですが、宜しくお願い申し上げます。

  • sktytrさん、こんにちは。NoMaYです。

    『割り込みが「入る」「入らない」』という表現ですと微妙な気がしたので、『割り込み処理ルーチンに「入る」「入らない」』という表現をしたいのですが、その意味で言えば、プロセッサステータスワード[PSW]の割込み許可ビットを「0」のままとした場合には割り込み処理ルーチンに入らないですよ。

    割り込み関連では、他に以下の話もありますが、今回の質問の背景は何でしょう?(素朴に気になった?)

    (1) 割り込み優先順位という概念もあり、PSWのIPLビット群で『割り込み処理ルーチンに「入る」「入らない」』を制御出来る
    (2) DMA/DTCの「起動」には割り込み信号が使われるけれども、こちらはPSWのIビットにもIPLビット群にも関係が無い
    (2') DMA/DTCの転送終了割り込みは、PSWのIビットやIPLビット群で『割り込み処理ルーチンに「入る」「入らない」』を制御出来る

  • NoMaY様

    ご回答頂きありがとうございます。

    割り込み処理ルーチンに入らないという事で理解致しました。

    .

    質問の背景ですが、

    メインルーチンでRX63Nのあらゆる機能(CMT,TPU,SCI,AD等)のレジスタ設定が完了した後、

    PSWの割込み許可ビットを0→1「setpsw_i();」に変更すると、

    setpsw_i();」以降の処理が実行されておらず、

    一方で、2msec毎のTPU割込みルーチンには入るのですが、

    10msec毎のCMT割込みルーチンには入らない、といった現象が発生しました。

    さらにこのプログラムの挙動は毎回必ず発生する訳ではなく、正常に動作する場合もあります。

    .

    この症状の原因予想としまして、

    どこかの割込みルーチン内で抜け出せなくなり、

    2msec毎のTPU割込みルーチンはそれより優先度が高い為、多重割込みとして毎回入り、

    10msec毎のCMT割込みルーチンはそれより優先度が低い為、割込み処理として入る事ができない、

    と考えております。

    .

    長くなりましたが、

    そこで、そもそもPSWの割込み許可ビットを1にしなくとも割込みルーチンに入る事はできるのか?

    と初歩的な知識なのですが疑問に思ったので質問させて頂いた次第です。

  • sktytrさん、こんにちは。NoMaYです。

    以下のスレッドに関する話なのですね。推測するに、ここ暫くの課題は、どの割り込みが抜けなくなっているのかをどう調べたら良いのだろうか?あたりで、そこから作業が進まない状況でしょうかね、、、

    RX63N176pin マイコンプログラム 起動直後にプログラムが停止
    japan.renesasrulz.com/cafe_rene/f/002-2095199602/6848/rx63n176pin/36979#36979