JPH0876878A - タイマ処理方法 - Google Patents
タイマ処理方法Info
- Publication number
- JPH0876878A JPH0876878A JP6230452A JP23045294A JPH0876878A JP H0876878 A JPH0876878 A JP H0876878A JP 6230452 A JP6230452 A JP 6230452A JP 23045294 A JP23045294 A JP 23045294A JP H0876878 A JPH0876878 A JP H0876878A
- Authority
- JP
- Japan
- Prior art keywords
- timer
- executed
- personal computer
- timer processing
- seconds
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Electric Clocks (AREA)
Abstract
(57)【要約】
【目的】 異なったマシンクロックを有する様々なコン
ピュータ上で、マシンクロックを考慮することなく、所
定の時間の設定を行えるタイマ処理方法を提供するこ
と。 【構成】 プログラムの先頭部分で、システム時計が1
秒進む間に基本タイマを何回ループできるかをカウント
し、その回数をnとする(ステップ201)。メインプ
ログラムにおいてタイマ処理の必要な場合には、任意の
必要時間t秒を設定してタイマ関数を実行し、基本タイ
マをn×t回ループさせることにより、正確なタイマ処
理を行なうことができる(ステップ301)。
ピュータ上で、マシンクロックを考慮することなく、所
定の時間の設定を行えるタイマ処理方法を提供するこ
と。 【構成】 プログラムの先頭部分で、システム時計が1
秒進む間に基本タイマを何回ループできるかをカウント
し、その回数をnとする(ステップ201)。メインプ
ログラムにおいてタイマ処理の必要な場合には、任意の
必要時間t秒を設定してタイマ関数を実行し、基本タイ
マをn×t回ループさせることにより、正確なタイマ処
理を行なうことができる(ステップ301)。
Description
【0001】
【産業上の利用分野】本発明は異なるマシンクロックの
パーソナルコンピュータ等で、同一のプログラムを実行
する際に、同一の時間設定を行なえるタイマ処理方法に
関するものである。
パーソナルコンピュータ等で、同一のプログラムを実行
する際に、同一の時間設定を行なえるタイマ処理方法に
関するものである。
【0002】
【従来の技術】従来、タイマ処理を多用する通信プログ
ラムを、1秒単位のシステム時計しか持たないパーソナ
ルコンピュータ等の上で実行する場合には、プログラム
毎に適当な無意味な処理を多数回ループ処理させるタイ
マ関数を用意し、それを所定回数だけ実行させることに
よって、所定のタイマ時間を得る方法が用いられてい
る。
ラムを、1秒単位のシステム時計しか持たないパーソナ
ルコンピュータ等の上で実行する場合には、プログラム
毎に適当な無意味な処理を多数回ループ処理させるタイ
マ関数を用意し、それを所定回数だけ実行させることに
よって、所定のタイマ時間を得る方法が用いられてい
る。
【0003】
【発明が解決しようとする課題】しかしながら、従来の
タイマ関数の中で実行される処理に要する時間は、CP
Uのマシンクロックスピードに依存する。したがって、
適当な無意味な処理を多数回ループ処理させるタイマ関
数のタイマ時間も、CPUのマシンクロックスピードに
依存して変化する。
タイマ関数の中で実行される処理に要する時間は、CP
Uのマシンクロックスピードに依存する。したがって、
適当な無意味な処理を多数回ループ処理させるタイマ関
数のタイマ時間も、CPUのマシンクロックスピードに
依存して変化する。
【0004】このため、16MHzのCPUクロックで
動作するように作ったプログラムを、8MHzのCPU
クロックのパーソナルコンピュータの上で実行させる
と、約2倍の時間のかかるタイマとして働いてしまうた
め、通信のタイミングのずれ等が発生し、正常な動作が
行なえなくなる。
動作するように作ったプログラムを、8MHzのCPU
クロックのパーソナルコンピュータの上で実行させる
と、約2倍の時間のかかるタイマとして働いてしまうた
め、通信のタイミングのずれ等が発生し、正常な動作が
行なえなくなる。
【0005】図7は、16MHzのパーソナルコンピュ
ータのタイムチャートを示す。すなわち、動作Aが終了
した後、50msec後に動作Bを始める必要がある場
合、タイミング良く動作Bが始められる。
ータのタイムチャートを示す。すなわち、動作Aが終了
した後、50msec後に動作Bを始める必要がある場
合、タイミング良く動作Bが始められる。
【0006】ところで、このプログラムを8MHzのパ
ーソナルコンピュータで実行すると、図8に示すよう
に、50msecのタイマが100msecのタイマに
なってしまい、動作Bのスタートが想定より50mse
c遅れることとなり、通信のタイミングがすれ、通信エ
ラーが生じる。
ーソナルコンピュータで実行すると、図8に示すよう
に、50msecのタイマが100msecのタイマに
なってしまい、動作Bのスタートが想定より50mse
c遅れることとなり、通信のタイミングがすれ、通信エ
ラーが生じる。
【0007】したがって、各パーソナルコンピュータの
CPUクロックに合わせて、多種類のプログラム・パッ
ケージを用意したり、人がCPUクロックによって設定
値を変更するなどの手数が必要となり、単一のプログラ
ムで簡単に互換性を持たせることができなかった。
CPUクロックに合わせて、多種類のプログラム・パッ
ケージを用意したり、人がCPUクロックによって設定
値を変更するなどの手数が必要となり、単一のプログラ
ムで簡単に互換性を持たせることができなかった。
【0008】本発明は、このような問題に鑑みてなされ
たもので、その目的とするところは、異なったマシンク
ロックを有する様々なコンピュータ上で、マシンクロッ
クを考慮することなく、所定の時間の設定を行なえるタ
イマ処理方法を提供することである。
たもので、その目的とするところは、異なったマシンク
ロックを有する様々なコンピュータ上で、マシンクロッ
クを考慮することなく、所定の時間の設定を行なえるタ
イマ処理方法を提供することである。
【0009】
【課題を解決するための手段】前述した目的を達成する
ために、この発明は、マシンクロックを基にして生成さ
れる基本タイマが1秒間にループする回数nを計測する
工程と、タイマ関数でt秒間の設定を行なう場合、前記
基本タイマをn×t回ループさせる工程とを具備するタ
イマ処理方法である。
ために、この発明は、マシンクロックを基にして生成さ
れる基本タイマが1秒間にループする回数nを計測する
工程と、タイマ関数でt秒間の設定を行なう場合、前記
基本タイマをn×t回ループさせる工程とを具備するタ
イマ処理方法である。
【0010】
【作用】1秒より細かい時間でのタイマ処理を含むパー
ソナルコンピュータ用等のプログラムの先頭部分で、基
本タイマが1秒間にループする回数nを計測し、メイン
プログラム中でt秒間の設定を行なう場合、基本タイマ
をn×t回ループさせる。
ソナルコンピュータ用等のプログラムの先頭部分で、基
本タイマが1秒間にループする回数nを計測し、メイン
プログラム中でt秒間の設定を行なう場合、基本タイマ
をn×t回ループさせる。
【0011】
【実施例】以下、図面に基づいて本発明の1実施例を詳
細に説明する。図1は、本実施例のハードウエアの概略
構成図である。本実施例では、16MHzパソコン1お
よび8MHzパソコン3を例にとり、両者を比較しつつ
説明するが、本発明を用いることにより、他のいかなる
コンピュータ上でもCPUマシンクロックの違いを考慮
することなく、タイマ処理を含むメインプログラムを実
行できる。
細に説明する。図1は、本実施例のハードウエアの概略
構成図である。本実施例では、16MHzパソコン1お
よび8MHzパソコン3を例にとり、両者を比較しつつ
説明するが、本発明を用いることにより、他のいかなる
コンピュータ上でもCPUマシンクロックの違いを考慮
することなく、タイマ処理を含むメインプログラムを実
行できる。
【0012】図2は、プログラムの構成を示すフローチ
ャートである。任意のパーソナルコンピュータ等の上で
タイマ処理を含むメインプログラムを実行させる。プロ
グラムの先頭部分で、システム時計が1秒進む間に、基
本タイマを何回ループできるかを計測し、その回数をn
をグローバルな変数として内臓しておく(ステップ20
1)。メインプログラムにおいて、タイマ処理の必要な
場合にはタイマ関数を実行して、正確なタイマ処理を行
なうことができる(ステップ202)。このとき、タイ
マ関数には、ステップ201で求めたループ回数nと、
任意に設定する必要時間とが与えられる。
ャートである。任意のパーソナルコンピュータ等の上で
タイマ処理を含むメインプログラムを実行させる。プロ
グラムの先頭部分で、システム時計が1秒進む間に、基
本タイマを何回ループできるかを計測し、その回数をn
をグローバルな変数として内臓しておく(ステップ20
1)。メインプログラムにおいて、タイマ処理の必要な
場合にはタイマ関数を実行して、正確なタイマ処理を行
なうことができる(ステップ202)。このとき、タイ
マ関数には、ステップ201で求めたループ回数nと、
任意に設定する必要時間とが与えられる。
【0013】図3は、タイマ関数を示すフローチャート
である。メインプログラムにおいてタイマ処理を行な
い、t秒間(t×1000msec)の設定を行なう場
合には、t/(1/n)=n×t回だけ、基本タイマ処
理をループさせる(ステップ301)。このようにして
任意の時間を設定することができる。
である。メインプログラムにおいてタイマ処理を行な
い、t秒間(t×1000msec)の設定を行なう場
合には、t/(1/n)=n×t回だけ、基本タイマ処
理をループさせる(ステップ301)。このようにして
任意の時間を設定することができる。
【0014】図4は、各パソコンにおけるマシンクロッ
クと基本タイマの関係を示す図である。図4(a)は1
6MHzパソコン1のマシンクロックのパルス、図4
(b)は16MHzパソコン1上で基本タイマを1回実
行するのに所要する時間t1秒を示す。すなわちマシン
クロックが40パルスでt1秒となる。図4(c)は、
8MHzパソコン3のマシンクロックのパルスを示す。
図4(d)は8MHzパソコン3上で基本タイマを1回
実行するのに所要する時間t2秒を示す。すなわちマシ
ンクロックが40パルスでt2秒となる。この例では1
6MHzパソコン1のマシンクロックのパルスの方が8
MHzパソコン3のマシンクロックのパルスより2倍速
いので、基本タイマを1回実行する時間は、16MHz
パソコン1ではt1秒、8MHzパソコン3ではt1秒
の2倍のt2秒となっている。
クと基本タイマの関係を示す図である。図4(a)は1
6MHzパソコン1のマシンクロックのパルス、図4
(b)は16MHzパソコン1上で基本タイマを1回実
行するのに所要する時間t1秒を示す。すなわちマシン
クロックが40パルスでt1秒となる。図4(c)は、
8MHzパソコン3のマシンクロックのパルスを示す。
図4(d)は8MHzパソコン3上で基本タイマを1回
実行するのに所要する時間t2秒を示す。すなわちマシ
ンクロックが40パルスでt2秒となる。この例では1
6MHzパソコン1のマシンクロックのパルスの方が8
MHzパソコン3のマシンクロックのパルスより2倍速
いので、基本タイマを1回実行する時間は、16MHz
パソコン1ではt1秒、8MHzパソコン3ではt1秒
の2倍のt2秒となっている。
【0015】図5は、16MHzパソコン1上でのタイ
マ設定例の説明図である。図5(a)は、図2のステッ
プ201を示しており、1秒間の間に基本タイマをルー
プしたところ、n1回実行できたことを示している。図
5(b)は、メインプログラムで0.5秒のタイマ処理
を必要とする場合(ステップ202)を示している。ス
テップ301では、タイマ関数にステップ201で得た
n1と、使用者が指定した0.5秒という時間を設定
し、基本タイマを0.5×n1回ループさせることで、
0.5秒のタイマ処理を実行する。
マ設定例の説明図である。図5(a)は、図2のステッ
プ201を示しており、1秒間の間に基本タイマをルー
プしたところ、n1回実行できたことを示している。図
5(b)は、メインプログラムで0.5秒のタイマ処理
を必要とする場合(ステップ202)を示している。ス
テップ301では、タイマ関数にステップ201で得た
n1と、使用者が指定した0.5秒という時間を設定
し、基本タイマを0.5×n1回ループさせることで、
0.5秒のタイマ処理を実行する。
【0016】同様に、図5(c)に示すように、メイン
プログラムでN秒のタイマ処理を必要とする場合(ステ
ップ202)には、ステップ301で、タイマ関数にス
テップ201で得たn1と、使用者が指定するN秒とい
う時間を設定し、基本タイマをN×n1回ループさせる
ことで、N秒のタイマ処理を実行する。
プログラムでN秒のタイマ処理を必要とする場合(ステ
ップ202)には、ステップ301で、タイマ関数にス
テップ201で得たn1と、使用者が指定するN秒とい
う時間を設定し、基本タイマをN×n1回ループさせる
ことで、N秒のタイマ処理を実行する。
【0017】図6は、8MHzパソコン3上でのタイマ
設定例の説明図である。図6(a)は、図2のステップ
201を示しており、1秒間に基本タイマを何回ループ
できるかを測定したところ、n2回実行できることが判
明したことを示している。このとき、基本タイマを1回
実行する所要時間t2秒は、1/n2であることにな
る。図6(b)は、メインプログラムで0.5秒のタイ
マ処理を必要とする場合(ステップ202)を示してい
る。ステップ301では、タイマ関数にステップ201
で得たn2と、使用者が指定した0.5秒という時間を
設定し、基本タイマを0.5×n2回ループさせること
で、0.5秒のタイマ処理を実行する。同様に、図6
(c)に示すように、メインプログラムでN秒のタイマ
処理を必要とする場合(ステップ202)には、ステッ
プ301で、タイマ関数にステップ201で得たn
2と、使用者が指定するN秒という時間を設定し、基本
タイマをN×n2回ループさせることで、N秒のタイマ
処理を実行する。
設定例の説明図である。図6(a)は、図2のステップ
201を示しており、1秒間に基本タイマを何回ループ
できるかを測定したところ、n2回実行できることが判
明したことを示している。このとき、基本タイマを1回
実行する所要時間t2秒は、1/n2であることにな
る。図6(b)は、メインプログラムで0.5秒のタイ
マ処理を必要とする場合(ステップ202)を示してい
る。ステップ301では、タイマ関数にステップ201
で得たn2と、使用者が指定した0.5秒という時間を
設定し、基本タイマを0.5×n2回ループさせること
で、0.5秒のタイマ処理を実行する。同様に、図6
(c)に示すように、メインプログラムでN秒のタイマ
処理を必要とする場合(ステップ202)には、ステッ
プ301で、タイマ関数にステップ201で得たn
2と、使用者が指定するN秒という時間を設定し、基本
タイマをN×n2回ループさせることで、N秒のタイマ
処理を実行する。
【0018】図5および図6を比較すると、基本タイマ
を1回実行するのに所要する時間は、16MHzパソコ
ン1と8MHzパソコン3とでは異なっているが、タイ
マ処理は、どちらのパソコン上でも、正確に行なわれる
ことがわかる。つまり、例えば図7に示すように、動作
Aが開始してから50msecに後に動作Bを開始し、
動作Aと動作Bとは30msecの重複をもって連続動
作するというプログラム上で、本発明のように基本タイ
マとタイマ関数を用いれば、図7のように16MHzパ
ソコン1を用いた場合に正常に動作するプログラムは、
8MHzパソコン3を用いた場合でも同様に正しく動作
するということである。
を1回実行するのに所要する時間は、16MHzパソコ
ン1と8MHzパソコン3とでは異なっているが、タイ
マ処理は、どちらのパソコン上でも、正確に行なわれる
ことがわかる。つまり、例えば図7に示すように、動作
Aが開始してから50msecに後に動作Bを開始し、
動作Aと動作Bとは30msecの重複をもって連続動
作するというプログラム上で、本発明のように基本タイ
マとタイマ関数を用いれば、図7のように16MHzパ
ソコン1を用いた場合に正常に動作するプログラムは、
8MHzパソコン3を用いた場合でも同様に正しく動作
するということである。
【0019】このように本実施例では、各パーソナルコ
ンピュータ等のCPUマシンクロックの違いを考慮する
ことなく、プログラムを実行できる。いいかえると、各
種のCPUクロックに合わせた何種類ものパッケージを
作る必要がない。また、プログラムを実行する際に、ど
んなCPUクロックに合わせて作ったプログラムである
かに注意する必要がない。プログラムの最初の開発時に
も、タイマ値のチューニングのための処理が不必要にな
り、開発作業が簡略化される。
ンピュータ等のCPUマシンクロックの違いを考慮する
ことなく、プログラムを実行できる。いいかえると、各
種のCPUクロックに合わせた何種類ものパッケージを
作る必要がない。また、プログラムを実行する際に、ど
んなCPUクロックに合わせて作ったプログラムである
かに注意する必要がない。プログラムの最初の開発時に
も、タイマ値のチューニングのための処理が不必要にな
り、開発作業が簡略化される。
【0020】
【発明の効果】以上、詳細に説明したように本発明によ
れば、異なったマシンクロックを有する様々なコンピュ
ータ上で、マシンクロックを考慮することなく、所定の
時間の設定を行えるタイマ処理方法を提供することがで
きる。
れば、異なったマシンクロックを有する様々なコンピュ
ータ上で、マシンクロックを考慮することなく、所定の
時間の設定を行えるタイマ処理方法を提供することがで
きる。
【図1】 本実施例のハードウエアの概略構成図
【図2】 プログラムの構成を示すフローチャート
【図3】 タイマ関数を示すフローチャート
【図4】 各パソコンにおけるマシンクロックと基本タ
イマの関係を示す図
イマの関係を示す図
【図5】 16MHzパソコン1上でのタイマ設定例の
説明図
説明図
【図6】 8MHzパソコン上3でのタイマ設定例の説
明図
明図
【図7】 16MHzクロックCPUでの、正常動作例
説明図
説明図
【図8】 8MHzクロックCPUでの、誤動作例説明
図
図
1………16MHzパソコン 3………8MHzパソコン
Claims (1)
- 【請求項1】 マシンクロックを基にして生成される基
本タイマが1秒間にループする回数nを計測する工程
と、 タイマ関数でt秒間の設定を行なう場合、前記基本タイ
マをn×t回ループさせる工程と、 を具備するタイマ処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6230452A JPH0876878A (ja) | 1994-08-31 | 1994-08-31 | タイマ処理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6230452A JPH0876878A (ja) | 1994-08-31 | 1994-08-31 | タイマ処理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0876878A true JPH0876878A (ja) | 1996-03-22 |
Family
ID=16908101
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6230452A Pending JPH0876878A (ja) | 1994-08-31 | 1994-08-31 | タイマ処理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0876878A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016143402A (ja) * | 2015-02-05 | 2016-08-08 | 富士通株式会社 | タイマ制御装置、無線通信装置及びタイマ制御方法 |
-
1994
- 1994-08-31 JP JP6230452A patent/JPH0876878A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016143402A (ja) * | 2015-02-05 | 2016-08-08 | 富士通株式会社 | タイマ制御装置、無線通信装置及びタイマ制御方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5964846A (en) | System and method for mapping processor clock values in a multiprocessor system | |
| US9134752B2 (en) | Time measurement device, micro-controller and method of measuring time | |
| US5875320A (en) | System and method for synchronizing plural processor clocks in a multiprocessor system | |
| JP2868472B2 (ja) | マイクロコントローラ及びその制御方法 | |
| JPH0876878A (ja) | タイマ処理方法 | |
| US20060153008A1 (en) | Control device and control method capable of external synchronization | |
| CN106020332A (zh) | 计时处理方法及系统 | |
| CN120143582B (zh) | 一种注入器时间校准方法、装置、设备及介质 | |
| JP2924154B2 (ja) | 時間計測方式 | |
| JP3263590B2 (ja) | 電子機器 | |
| JPH1055224A (ja) | 計算機時刻の補正方法およびその補正方法を用いた計算機のソフトウェア | |
| JP2631541B2 (ja) | プログラマブルコントローラ | |
| JPH09198280A (ja) | システム監視用パルス生成方法および監視用パルス生成機能を備えたリアルタイム・オペレーティングシステム | |
| JPH06242994A (ja) | タイミング処理方式 | |
| JPS63217425A (ja) | ル−プの自動調整方式 | |
| CN121742597A (zh) | 一种多模冗余计算机系统级别的时间同步方法及同步装置 | |
| JPH0756862A (ja) | マルチプロセッサシステムの同期化方式 | |
| JP2004272794A (ja) | 外部同期可能な制御装置および制御方法 | |
| JPH0683274B2 (ja) | 光通信における通信制御方法 | |
| JP2646436B2 (ja) | タイマ制御方式 | |
| JPS60155992A (ja) | 電子タイマ | |
| JPH0283606A (ja) | リアルタイムシステムの時間補正方式 | |
| JPH10300804A (ja) | ジッタ付信号の生成方法およびジッタ付信号生成装置 | |
| JPS5816319A (ja) | 計算機システムの時刻制御装置 | |
| JPH0285792A (ja) | 交流周期時計 |