Sleep Timer

Last-modified: 2013-08-19 (月) 23:33:14
 
 

概要

Sleep TimerのSleepTimer_TickWait()はAVRで言うところの(delay)にあたる関数で、プログラムの処理を任意の時間止めることが出来ます。周期性のある場合はTimer割り込みを使うべきですが、不規則な場合やスイッチングの切り替えを故意に遅らせる場合などにSleepTimer_TickWait()を使うと便利です。

Property の設定

Tick Counter Size

関数

SleepTimer_Start()

特に言うことはありません。

いつも通りモジュールを起動する為に呼び出します。

SleepTimer_EnableInt()

これを呼び出してSleep Timer割り込みを有効にします。

SleepTimer_SetInterval()

この関数は、Sleep Timerの1回あたりの時間を決めます。

0x181Hz
0x108Hz
0x0864Hz
0x00512Hz

SleepTimer_TickWait()

この関数は、さっき決定したSetIntervalを何回呼び出すかを決めます。

使い方

プログラム例

簡単な使い方

       M8C_EnableGInt ; // Uncomment this line to enable Global Interrupts
	/*SleepTimerの設定*/
	SleepTimer_1_Start();
	SleepTimer_1_EnableInt();
	SleepTimer_1_SetInterval(0x18);     //1秒に設定
	/*テストプログラム*/
	while (1){
		SleepTimer_1_TickWait(4);   //4秒待機
		PRT1DR = PRT1DR | (1 << 2); //P1の2をON
		SleepTimer_1_TickWait(2);   //2秒待機
		PRT1DR = PRT1DR & ~(1 << 2);//P1の2をOFF
	}