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

taga r00h0211 @ kyoto-kcg.ac.jp
2003年 11月 25日 (火) 11:20:55 JST


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

開発環境
Cygwin+windows2000
H8-3048f
512KbitRAMを増設

この環境でsampleの実行はできました。
そしてやりたいことはタイマ割り込みを使ってモーターを動かすことで、
TOPPERSをつまないでモーターを動かすことには成功しています。
周期ハンドラを使ってモーターを動かすことにも成功しています。
でもタイマ割り込みで動かそうとするとうまくいきません。
タイマ割り込みの時間を変えても動き方が変わりません。
最初はimia0を使おうとしていましたが、マニュアルを読むと
TOPPERSが使用しているということだったので違う割り込みを
使ったのですがそれでもうまくいきませんでした。
具体的には、DEF_INFで割り込みハンドラを登録し、sys_support.Sのimia1とimia2の
部分を以下のように書き換えました。

 .long _imia1_int_entry  /* 28, 0x0070: IMIA1 */
 .long _no_reg_exception  /* 29, 0x0074: IMIB1 */
 .long _no_reg_exception  /* 30, 0x0078: OVI1 */
 .long _no_reg_exception  /* 31, 0x007c: reserved */
 .long _imia2_int_entry  /* 32, 0x0080: IMIA2 */
 .long _no_reg_exception  /* 33, 0x0084: IMIB2 */


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

H8/3048Fでタイマ割り込みを使用する手順について、教えていただきますよう
お願いいたします。

京都コンピュータ学院洛北校
情報工学科 多賀 創