Palm OS Programmer’s Companion Volume I/11-8 - project-enigma

Palm OS Programmer’s Companion Volume I/11-8

>> Site top >> Misc >> In my palm >> Palm開発ドキュメントの和訳 >> Palm OS Programmer’s Companion Volume I >> Palm OS Programmer’s Companion Volume I/11-8

最終更新日付:2014/01/01 00:00:00

← 7 節に戻る ↑11 章トップへ 9 節に進む →

11-8 時刻

 

Palm ハンドヘルドは 68328 プロセッサの一部として実時間クロックとプログラマブルタイマーを持っています。実時間クロックはシステムがスリープモード(オフ)の状態でも現在時刻を維持します。このクロックはユーザーが設定したアラームによって割込みを発生させ、ハンドヘルドをウェイクアップさせることができます。プログラマブルタイマーは、システムの休止・動作モード中にシステムクロック(秒あたり100回)の回数を指定した割込みの生成に使用されます。システムクロックの割込みは、ディジタイザにおけるユーザー入力のポーリングやキーのデバウンスなどで必要となります。

日付と時刻のマネージャ(この章ではタイムマネージャと呼びます)は、Palm ハンドヘルドの秒単位および 0.01 秒単位両方のタイミングリソースへのアクセスを提供します。

タイムマネージャの基本的な API は、実時間クロックの秒単位での設定・取得とシステムクロックの現在値の取得をサポートします(システムクロックの設定はできません)。システムマネージャは定期的な処理や指定クロック数経過後に実行されるタイマータスクをセットアップするためのより高度な機能を提供しています。

このセクションでは以下のトピックを説明します。

 

実時間クロック関数の使用

タイムマネージャの実時間クロック関数には TimSetSeconds と TimGetSeconds が含まれています。Palm ハンドヘルドにおける実時間は、1904 年の1月1日0時からの秒数で計測されます。TimSecondsToDateTime と TimDateTimeToSeconds を使用することで、この秒数と年月日・時分秒を格納する構造体との間の相互変換を行なうことができます。

 

システムクロック関数の使用

Palm ハンドヘルドは、リセットされた時点で 0 から開始されるシステムクロックを維持しています。このクロックは、

システムクロックベースでタイミングをとるのであれば、アプリケーションは SysTicksPerSecond マクロを使用すべきです。このマクロはプラットフォームによって異なる値にコンパイルされます。TimGetTicks 関数を使用すれば現在のシステムクロック値を得ることができます。

TimGetTicks 関数は待ち合わせのためのループの実装に使えますが、アプリケーションではそのかわりに SysTaskDelay 関数を使用することをお勧めします。SysTaskDelay 関数は待ち合わせ中にシステムを自動的に省電力モードに移行します。TimGetTicks をループで使用すると、より多くの電力を消費します。

 

 

 

← 7 節に戻る ↑11 章トップへ 9 節に進む →

 

 


Copyright(C) 2005-2017 project-enigma.
Generated by CL-PREFAB.