NARIOKA> どなたかアドバイスお願いします.
NARIOKA> マイコン:H8/3069(64F3069F25)
NARIOKA> 開発環境::YellowIDE ver6.38
NARIOKA> #include <3069S.H> // intをunsigned shortに置換
3069S.Hは、名前からルネサスの統一ヘッダーだと思われますが、
イエローではルネサスのヘッダーの動作を保証しています?。
動作するとして、
NARIOKA> 症状:タイマーカウンター(TCNT)が作動しない.
NARIOKA> ITU.TSTR.BIT.STR1 = 1;//ITU1 TCNTカウント開始(のはず)
この時点で動いている筈です。
ところで、CPUクロックを25MHzだとして、
NARIOKA> if(ITU1.TCNT > 1000) LCD_DisplayNumber(1); //LCDに1を表示
この条件が成立するには40μs後、それ以降はカウンターが
オーバーフローするまで、延々とLCDに表示する事となりま
すが、LCDは本当にそれで動いています?。
IDEを使っているなら、デバッカーでブレークポイントを張
った方が良いのでは。
NARIOKA> ITU.TISRA.BIT.IMIEA1 = 1; // IMFA1への書き込みを許可
多分このコメントを書いた為に、以降の行で勘違い?を起こし
ている様に思えるのですが、
NARIOKA> if(ITU.TISRA.BIT.IMFA1)ITU.TISRA.BIT.IMFA1 = 0; // 初期化
NARIOKA> ITU1.TCR.BYTE = 0x00;
改めてハードウエアマニュアルで、IMFA1やIMIEA1の成立条件
を確認してみて下さい。
NARIOKA> if(ITU.TISRA.BIT.IMFA1 == 1){
NARIOKA> ITU.TISRA.BIT.IMFA1 = 0;
NARIOKA> LCD_DisplayNumber(1);
NARIOKA> }
上の理由からこの条件は成立しないし、
NARIOKA> void interrupt timer(){
NARIOKA> if(ITU.TISRA.BIT.IMFA1)ITU.TISRA.BIT.IMFA1 = 0; // 初期化
NARIOKA> LCD_DisplayNumber(2);
NARIOKA> }
ここには来ないと思いますが、しかし、IMFA1のクリアが二箇
所有るのは問題では?。
NARIOKA> 「16ビットタイマのチャンネル0は使用できません.」とマニュアルにあったので,
ええ!、それは一体何と言うマニュアルですか?
以上、頑張って下さい。