/*
 * タイマをコントロールするルーチン
 * 
 * @author fenrir (M.Naruoka)
 * @since 04/06/04
 * @version 1.0
 */
#include "AKI3694.h"
#include <common.h>
#include "timer.h"

//インターバルタイマによって呼び出される関数
static void (*timer_a_callback)();

/**
 * タイマAを初期化するルーチン
 *
 * @param f タイマA(インターバル)割り込みによってコールバックされる関数
 */
void timer_init(void (*f)()){
  
  /* タイマAの設定
   * 
   */
  TA.TMA.BYTE = TIMER_A_SETTING;
  
  /* タイマAコールバック関数の登録 */
  timer_a_callback = f;
  
  /* タイマA割り込み許可 */
  IENR1.BIT.IENTA = 1;
}

/**
 * タイマ割り込みによって呼び出されるルーチン
 * 
 */
#pragma interrupt
void int_timera(){
    IRR1.BIT.IRRTA = 0;
    timer_a_callback();
}