アプリ版:「スタンプのみでお礼する」機能のリリースについて

C言語もマイコンも初心者ですので情報が不足していたら笑って指摘してください。
今はルネサスのHigh-performance Embedded Workshop(Version 4.04.01.001)を使用してタイマ割り込みを実現しようとしてますが、タイマが動作しません。
出力結果も繰り返し処理が正常に動いてないように見えます。
原因等わかる方いらっしゃいましたら教えていただけますでしょうか。
可能でしたらソースコードもつけていただけると幸いです。

---出力結果---
H8/3052F Monitor v1.12 Copyright (C) 1999-2004 CSE Tomakomai NCT
1:ld
1:go 00ffe000
change job
wooooooooo!
w

---ソースコード---

#include "3052f.h"
#include "utility.h"
#pragma interrupt ( aaa )

int cnt;
extern void initITU( void );

void aaa()
{
debugString( "aaa!" );
cnt++;
}

void main(void)
{
InitializeSCI();

setDebugMode( true );

initITU();// タイマーを初期化

ITU0.GRA = 20000;// タイマでカウントする値の設定
ITU0.TCNT = 0;// Reset ITU0.TCNT
ITU.TSTR.BIT.STR0 = 1;// タイマ スタート

debugString( "change job" );

while( 1 ){

if(cnt == 50){
debugString( "here we go!" );
cnt = 0;
} else {
debugString( "wooooooooo!" );
}
}
}

void initITU()
{
ITU.TSNC.BIT.SYNC0 = 0;// 他チャンネルとの同期無し(独立動作)
ITU.TSNC.BIT.SYNC1 = 0;// 他チャンネルとの同期無し(独立動作)
ITU.TSNC.BIT.SYNC2 = 0;// 他チャンネルとの同期無し(独立動作)
ITU.TSNC.BIT.SYNC3 = 0;// 他チャンネルとの同期無し(独立動作)
ITU.TSNC.BIT.SYNC4 = 0;// 他チャンネルとの同期無し(独立動作)

ITU0.TCR.BYTE = 0x03;// クロックの1/8で動作。TCNTのクリア禁止
ITU1.TCR.BYTE = 0x03;// クロックの1/8で動作。TCNTのクリア禁止
ITU2.TCR.BYTE = 0x03;// クロックの1/8で動作。TCNTのクリア禁止
ITU3.TCR.BYTE = 0x03;// クロックの1/8で動作。TCNTのクリア禁止
ITU4.TCR.BYTE = 0x03;// クロックの1/8で動作。TCNTのクリア禁止

ITU0.TIOR.BYTE = 0; // GRの制御。0x00でよい。
ITU1.TIOR.BYTE = 0;// GRの制御。0x00でよい。
ITU2.TIOR.BYTE = 0;// GRの制御。0x00でよい。
ITU3.TIOR.BYTE = 0;// GRの制御。0x00でよい。
ITU4.TIOR.BYTE = 0;// GRの制御。0x00でよい。

ITU0.TIER.BIT.IMIEA = 1;// 全割り込み許可(オーバーフロー/IMFA/IMFB)
ITU1.TIER.BIT.IMIEA = 0;// 全割り込み禁止(オーバーフロー/IMFA/IMFB)
ITU2.TIER.BIT.IMIEA = 0;// 全割り込み禁止(オーバーフロー/IMFA/IMFB)
ITU3.TIER.BIT.IMIEA = 0;// 全割り込み禁止(オーバーフロー/IMFA/IMFB)
ITU4.TIER.BIT.IMIEA = 0;// 全割り込み許可(オーバーフロー/IMFA/IMFB)
}

A 回答 (2件)

 割込みを使えるうようなレベルでは無い様に思われます。


 H8なら例題を解説している本が多数有りますので、まずそちらを勉強
してからにしたほうがよろしいかと思われます。
    • good
    • 0

 先ずはITUを動かして数秒周期の矩形波をポートに出力し、その電圧をテスターで確認する事です。


 割り込みは、その次の段階。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!