目次 |
概要
Sleep TimerのSleepTimer_TickWait()はAVRで言うところの(delay)にあたる関数で、プログラムの処理を任意の時間止めることが出来ます。周期性のある場合はTimer割り込みを使うべきですが、不規則な場合やスイッチングの切り替えを故意に遅らせる場合などにSleepTimer_TickWait()を使うと便利です。
Property の設定
Tick Counter Size
関数
SleepTimer_Start()
特に言うことはありません。
いつも通りモジュールを起動する為に呼び出します。
SleepTimer_EnableInt()
これを呼び出してSleep Timer割り込みを有効にします。
SleepTimer_SetInterval()
この関数は、Sleep Timerの1回あたりの時間を決めます。
0x18 | 1Hz |
0x10 | 8Hz |
0x08 | 64Hz |
0x00 | 512Hz |
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 }