周辺モジュールからのDMA要求とDMAC起動要因フラグ制御レジスタについて

お世話になります。

RX66TのSCI11、DMA0、CMT3を使った調歩同期の送信を試しました。

CMT3のコンペアマッチ(ベクター番号31)でDMA0にリクエスト発生でSCI11.TDRへ1バイトのDMA0転送発生(外部端末にて確認済み)、ブレークポイントを設定することでDMA0転送終了割込み発生後にCMT3の割込みが発生を確認しました。

DMA0のDMAC起動要因フラグ制御レジスタ(DMCSL)には"0"を設定していますが、最後にCMT3割込みが発生します。
できればCMT3の割込みは発生させたくないのですが、DMCSLで抑制できないものでしょうか?

 

以下に来ました。

#pragma interrupt (Excep_CMT3_CMI3(vect=31, enable))
void Excep_CMT3_CMI3(void)
{
return;
}

Parents
  • のーしゃん さん、こんにちは。NoMaYです。#お久しぶりです。

    よくあるようなDMAによるSCI送信では無いのですね。一定時間毎にCPU負荷無しにRAM上のデータ1バイトを送信する用途でしょうか、、、

    > DMA0のDMAC起動要因フラグ制御レジスタ(DMCSL)には"0"を設定していますが、最後にCMT3割込みが発生します。
    > できればCMT3の割込みは発生させたくないのですが、DMCSLで抑制できないものでしょうか?

    これは、ひょっとして、総転送データ数のDMA転送が終了して、DTEビットが自動的に1→0に戻った後に発生したCMT割り込み、だったりしませんか?(つまり、DMA転送の最後なのでは無くて、DMA転送が終了した更にその後なのではありませんか?)

Reply
  • のーしゃん さん、こんにちは。NoMaYです。#お久しぶりです。

    よくあるようなDMAによるSCI送信では無いのですね。一定時間毎にCPU負荷無しにRAM上のデータ1バイトを送信する用途でしょうか、、、

    > DMA0のDMAC起動要因フラグ制御レジスタ(DMCSL)には"0"を設定していますが、最後にCMT3割込みが発生します。
    > できればCMT3の割込みは発生させたくないのですが、DMCSLで抑制できないものでしょうか?

    これは、ひょっとして、総転送データ数のDMA転送が終了して、DTEビットが自動的に1→0に戻った後に発生したCMT割り込み、だったりしませんか?(つまり、DMA転送の最後なのでは無くて、DMA転送が終了した更にその後なのではありませんか?)

Children
No Data