Next: リアルタイム処理関数
Up: プログラムの動作
Previous: プログラムの動作
基本的なメイン関数main()の例を次に示す。
Func void main()
{
para_init(); // パラメータの設定
var_init(); // 変数の初期化
machine_ready(); // 実験装置(電源など)の準備
rtSetClock(stime); // サンプリング時間(秒単位)設定
rtSetTask(on_task); // リアルタイムタスクを設定
rtSetBreak(break_task); // Ctrl-Cによる割込の処理を設定
rtStart(); // リアルタイム処理を開始
off_task_loop(); // 画面表示,コマンドの入力
rtStop(); // リアルタイム処理を停止
machine_stop(); // 実験装置(電源など)の停止
}
コメントの説明を補足する。
- Real型の変数stimeにはサンプリング時間が秒単位で
設定されている。
- void型の関数break_task()はコントロール+Cなどの割り込み
キーが押された時に呼ばれる関数であり,リアルタイム処理の停止などを
記述しておく。
- 関数rtStart()が実行されると,サンプリング時間毎にvoid型の関数
on_task()が実行される。
- 関数off_task_loop()では,変数の表示やコマンドの入力待ち
のループが記述されており,この関数の実行が終わると,関数
rtStop()が呼ばれて,リアルタイム処理が停止する。
Masanobu KOGA
平成10年8月19日