Renesas Rulz - Japan
Renesas Rulz - Japan
  • User
    Join or sign in
  • Site
  • Search Japan.RenesasRulz.com
  • User
  • Renesas Rulz
  • FAQ
  • パートナー
  • 半導体セミナ
  • eラーニング
  • ヘルプ
  • More
  • Cancel
  • かふぇルネ
  • がじぇるね
  • English Community
  • More
  • Cancel
がじぇっとるねさすコミュニティ
がじぇっとるねさすコミュニティ
GR-SAKURA フォーラム MTU コンペアマッチ割り込みについて
  • Forums
  • Blog
  • Files
  • がじぇっとるねさす ゆーざー会 - Wiki
  • Tags
  • More
  • Cancel
  • New

 

 GR-SAKURA

 GR-KURUMI

 GR-COTTON

 GR-CITRUS

 GR-PEACH

 GR-KAEDE

 GR-ADZUKI

 GR-LYCHEE

 GR-ROSE

 GR-MANGO(*)

 SNShield

 Web Compiler

 IDE for GR

 TOPPERS関連

 女子美コラボ

 その他

 ※プロデューサミーティング中

 作り方使い方資料

 イベント関連

 作品記事

 体験記事

 その他

 

 ライブラリ

 ツール

 その他・過去ファイル

  • Replies 1 reply
  • Subscribers 280 subscribers
  • Views 311 views
  • Users 0 members are here
  • 割り込み
  • タイマ割込み
  • gr-sakura
Options
  • Share
  • More
  • Cancel
Related Tags
  • Ehternet
  • ethernet
  • gr-sakura
  • GR-SAKURA GR-KURUMI I2C
  • gr-sakura rtc
  • GR-SAKURA SDMMC
  • GR-SAKURA 液晶 aitendo
  • i2c
  • lcd
  • mruby
  • sd_card
  • sdmmc
  • SDカード
  • serial
  • spi
  • udp
  • USB仮想シリアル
  • Windows8 serial com driver
  • がじぇっとルネサス
  • がじぇるね
  • シリアル
  • タイマ割込み
  • ネットワーク
  • ライブラリ
  • 割り込み
Related

MTU コンペアマッチ割り込みについて

takana
takana 9 months ago

GR-SKURAでMTUのコンペアマッチ時に割込みが入るようにしたいと思っております。
MTU3のMTIOC3A端子(P17)からPWMモード1で指定したパルス信号は出るのですが、割り込みで記述したIO7からは出力がありません。
作成したプログラムに何か誤りがあれば、ご教授いただければと思います。

開発環境:e2studio
「sakura-sketch-v223-e2v7.zip」をインポートして使用。

interrupt_handlers.c --> void INT_Excep_MTU3_TGIA3(void){ } をコメントアウト

※以下、gr_sketch.cppに記述したプログラムです

#include <Arduino.h>
#include <iodefine_gcc63n.h>
#include <rx63n/interrupt_handlers.h>

int OUT = 0;

void init_MTU(void)
{

startModule(MstpIdMTU3); // ストップ状態 解除

MTU.TSTR.BYTE = 0x00; // MTUのTCNT動作停止
MTU.TRWER.BIT.RWE = 1; // タイマーリードライト許可レジスタ 許可
MTU3.TCNT = 0x0000; // TCNTクリア

MPC.PWPR.BIT.B0WI = 0; // プロテクト
MPC.PWPR.BIT.PFSWE = 1; // 解除

MPC.P17PFS.BIT.PSEL = 0x01; // P17 --> MTIOC3A に設定

MPC.PWPR.BIT.PFSWE = 0; // プロテクト
MPC.PWPR.BIT.B0WI = 1; // 設定

PORT1.PMR.BIT.B7 = 1; // P17は周辺機能として使用

MTU3.TCR.BIT.TPSC = 1; // カウンタクロック: PCLK/4 = 48MHz / 4 = 12MHz
MTU3.TCR.BIT.CKEG = 0; // 立ち上がりエッジでカウント
MTU3.TCR.BIT.CCLR = 1; // TGRAのコンペアマッチでTCNTクリア
MTU.TSYR.BIT.SYNC3 = 0; // MTU3は独立動作

MTU3.TMDR.BIT.MD = 2; // PWMモード1
MTU3.TMDR.BIT.BFA = 1; // TGRAとTGRCレジスタはバッファ動作

MTU3.TIORH.BIT.IOA = 2; // 初期状態でLOW出力 周期コンペアマッチでHIGH出力
MTU3.TIORH.BIT.IOB = 1; // 初期状態でLOW出力 デューティコンペアマッチでLOW出力

MTU3.TGRA = 12000; // 周期 12000 / 12MHz = 1ms
MTU3.TGRC = 12000; // TGRA バッファ
MTU3.TGRB = 6000; // Duty

MTU3.TIER.BIT.TGIEA = 1; // タイマ割り込み許可

IPR(MTU3, TGIA3) = 2; // TGIA3の割り込み優先度を2に設定
IEN(MTU3, TGIA3) = 1; // TGIA3の割り込みを有効化

MTU.TSTR.BIT.CST3 = 1; // カウントスタート
}

void INT_Excep_MTU3_TGIA3(void)
{
OUT = ~OUT;
digitalWrite(7, OUT);
}

void setup()
{
pinMode(7,OUTPUT);
init_MTU();
}

void loop()
{

}

  • Reply
  • Cancel
  • Cancel
  • takana
    takana 8 months ago
    すみません、自己解決しました。
    下記3つのファイルを編集したら、無事割り込みができました。

    ① interrupt_handler.c
    「void INT_Excep_MTU3_TGIA3(void){ }」をコメントアウト
    ② interrupt_handler.h
    「void INT_Excep_MTU3_TGIA3(void) __ATTRIBUTE_INTERRUPT;」を記入
    ③ vector_table.c
    「(fp)INT_Excep_TPU9_TGI9A,」をコメントアウト
    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
サイト使用条件
プライバシーポリシー
お問い合わせ
© 2010-2020 Renesas Electronics Corporation. All rights reserved.