/      English

Timerライブラリ

Timerライブラリ
Timerライブラリを紹介します。

Timerライブラリ

tsTimerContext

Timer ライブラリで用いる設定用の構造体。

  • 0クリアすること。
  • 静的に確保すること。
名前解説
uint8u8Deviceタイマーデバイスを指定する (E_AHI_DEVICE_TIMER0 .. 4)。
uint16u16Hzタイマー周波数を Hz で指定する。
uint8u8PreScale16Mhz クロックに対するプリスケールを設定する。
bool_tbPWMOutTRUE なら PWM 出力を行う。
bool_tbDisableIntTRUE なら割り込みを禁止する。

vTimerConfig()

解説

Timer の初期化を行う。

引数

名前詳細
tsTimerContextpsTCタイマー設定の構造体。

戻り値

なし

サンプル

tsTimerContext sTimerApp; // global or static allocation

// set 64ticks/sec
memset(&sTimerApp, 0, sizeof(tsTimerContext));
sTimerApp.u8Device = E_AHI_DEVICE_TIMER0;
sTimerApp.u16Hz = 64;
sTimerApp.u8PreScale = 4; // 15625ct@2^4

vTimerStart()

解説

Timer を開始する。

本関数は、既に開始済みのTimerについても呼び出し可能です。Duty 比の変更を行う場合などに利用します。

引数

名前詳細
tsTimerContextpsTCタイマー設定の構造体。

戻り値

なし

サンプル

// initialize and start
vTimerConfig(&sTimerApp); // initialize
vTimerStart(&sTimerApp); // start

// change duty
sTimerPWM.u16Duty = 256; // set new duty ratio
vTimerStart(&sTimerPWM); // just start again to change duty

vTimerStop()

解説

Timer の動作を停止する。

引数

名前詳細
tsTimerContextpsTCタイマー設定の構造体。
戻り値

なし。

サンプル

// just stop the timer
vTimerStop(&sTimerApp);
...
// restart
vTimerStart(&sTimerApp);
...
// now, disable timer completely
vTimerStop(&sTimerApp);
vTimerDisable(&sTimerApp);

vTimerDisable()

Timer を破棄する。

引数

名前詳細
tsTimerContextpsTCタイマー設定の構造体。

戻り値

なし

サンプル

// just stop the timer
vTimerStop(&sTimerApp);
...
// restart
vTimerStart(&sTimerApp);
...
// now, disable timer completely
vTimerStop(&sTimerApp);
vTimerDisable(&sTimerApp);