(toppers-users 1277) Re: H8/3048fでタイマ割り込みの仕方についての質問

Kimitsugu Nakao nakao @ kagawa-pc.ac.jp
2003年 11月 27日 (木) 15:03:57 JST


>はじめまして、
>京都コンピュータ学院洛北校の多賀創と申します。

 始めまして。四国ポリテクカレッジの中尾と申します。

>すると、コンパイラから「imia1_int_enable()」「imia1_int_disable()」
>「imia2_int_enable()」「imia2_int_disable()」という関数が
>存在しない、というエラーが出ました。
>そこで、それらを作ったところエラーはなくなりましたが、タイマ割り込みそのもの
>はうまく機能
>しませんでした。

 _imia1_enable_int、_imia1_disable_intですよね。

 私の環境はgdb-stubを利用しているので、環境が違うかも知れませんが、下記手順を
確認してみてください。
 imia1_enable_int()とimia2_disable_int()をC言語で記述するのではなく、\config\
 h8\sys_support.S内に、システム用タイマーのimia0用の同様の記述をコピーし、imia1
 用に書き直してみてください。

 きちんと確認していないのですが、C言語ファイル内に
 void ????_enable_int(void) と void ????_disable_int(void) を宣言するとダメで
した。void ????_disable_int(void)内までは実行しているのは確認したのですが、その
後割り込みハンドラ本体が実行されていないようでした。
 sys_support.S内にアセンブラで記述するとうまく動きました。