SH7269 PWMバッファについて

またまた質問させてくださいませ PWMバッファを使用してパルスを出力したいのですが、まったく出力されません。 ※コンペアマッチAの割込みは入ってきます。 何か設定がたりないのでしょうか? ●動作予定 チャネル4 をPWM モード1 に設定し、TGRA_4 とTGRC_4 をバッファ動作に設定。 TCNT_4 はコンペアマッチB によりクリア、出力はコンペアマッチA で0 出力、コンペアマッチB で1 出力、TBTM_4 のTTSA ビットは1 に設定しています。 コンペアマッチA の割込みにて、TGRC_4のバッファレジスタを更新 出力端子:TIOC4A ***** ソースコード ***** ●ポート初期化 PORT.PFDR0.BYTE.L = 0; // ポート F データレジスタ(0) PORT.PFIOR0.BYTE.L = 1; // ポート F・IO レジスタ(OUT) PORT.PFCR0.WORD = 0x4; // ポートF コントロールレジスタ(TIOC4A) ●PWM出力開始設定 cnt = 0; // カウント動作停止 MTU2.TSTR.BIT.CST4 = 0x0; // カウンタクロックの選択 MTU2.TCR_4.BIT.TPSC = 0x0; // 内部クロック:P0φ/1 でカウント // カウンタクリア要因の選択 MTU2.TCR_4.BIT.CCLR = 0x2; // TGRB のコンペアマッチでTCNT クリア // バッファ動作の設定 MTU2.TMDR_4.BIT.BFB = 0; // TGRBとTGRDは通常動作 MTU2.TMDR_4.BIT.BFA = 1; // TGRAとTGRCはバッファ動作 MTU2.TMDR_4.BIT.MD = 0x2; // PWMモード1 // TGRの機能の選択 MTU2.TIORH_4.BIT.IOA = 0x5; // TGRAの機能(初期出力は1出力、コンペアマッチで0出力) MTU2.TIORH_4.BIT.IOB = 0x6; // TGRBの機能(初期出力は1出力、コンペアマッチで1出力) // バッファ動作時のバッファレジスタからタイマジェネラルレジスタへの転送タイミング選択 MTU2.TBTM_4.BIT.TTSB = 0; // TCNTクリア時にTGRDからTGRBへ転送 MTU2.TBTM_4.BIT.TTSA = 1; // TCNTクリア時にTGRCからTGRAへ転送 // 周期設定 MTU2.TGRA_4.WORD = 1500 - BUFF[cnt]; MTU2.TGRB_4.WORD = 1500; MTU2.TGRC_4.WORD = 1500 - BUFF[cnt]; MTU2.TGRD_4.WORD = 1500; // カウンタクリア MTU2.TCNT_4.WORD = 0x0000; // カウンタクリア // 割込みレベル設定 INTC.IPR15.BIT._MTU40 = 0xF; // CMI Priority level of interrupt = 1 MTU2.TIER_4.BIT.TGIEA = 0x1; // TGFAビットによる割り込み要求(TCIA)を許可 // カウント動作開始 MTU2.TSTR.BIT.CST4 = 0x1; ●割込み処理 MTU2.TSR_4.BIT.TGFA = 0; //割り込みフラグクリア if( cnt
Parents Reply Children
No Data