1: 2003-10-24 (金) 07:33:00 |
2: 2004-02-13 (金) 18:50:59 |
| | | |
| 参考になるサンプル:movec2(introa) | | 参考になるサンプル:movec2(introa) |
| + | -p0crefリンク:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0060 |
| | | |
| ***lib_waitsignal | | ***lib_waitsignal |
| | | |
| 参考になるサンプル:movec2(introa) | | 参考になるサンプル:movec2(introa) |
| + | -p0crefリンク:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0018_f |
| | | |
| **シグナル定義 | | **シグナル定義 |
| (オープン済みであること)を指定する。 | | (オープン済みであること)を指定する。 |
| | | |
- | 参考になるサンプル:movec2(introa),dblcntc0(introb) | + | 参考になるサンプル: |
| + | キーシグナル:movec2(introa), keytstc0(introc)[拡張キーシグナル] |
| + | タイマーシグナル:dblcntc0(introb) |
| + | -p0crefリンク: |
| + | --キーシグナル:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0068_100 |
| + | --タイマーシグナル:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0068_10 |
| + | --低レベルマウスシグナル:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0068_200 |
| | | |
| ***void lib_definesignal0p0 | | ***void lib_definesignal0p0 |
| | | |
| 参考になるサンプル:movec2(introa) | | 参考になるサンプル:movec2(introa) |
| + | -p0crefリンク:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0068_0 |
| | | |
| **タイマー制御 | | **タイマー制御 |
| | | |
| 参考になるサンプル:cntdwnc1(introa) | | 参考になるサンプル:cntdwnc1(introa) |
| + | -p0crefリンク:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0018_f |
| | | |
| ***lib_opentimer | | ***lib_opentimer |
| | | |
| 参考になるサンプル:dblcntc0(introb) | | 参考になるサンプル:dblcntc0(introb) |
| + | -p0crefリンク:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0070 |
| | | |
| ***lib_closetimer | | ***lib_closetimer |
| slotはタイマーとして使っていたスロット番号を指定する。使用している3つのうち、 | | slotはタイマーとして使っていたスロット番号を指定する。使用している3つのうち、 |
| 最初の1つを指定する。 | | 最初の1つを指定する。 |
| + | -p0crefリンク:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0074 |
| | | |
| ***lib_settimertime | | ***lib_settimertime |
| シグナルを発するか、もしくはキャンセルすることによって休止状態に戻るまで | | シグナルを発するか、もしくはキャンセルすることによって休止状態に戻るまで |
| 次の設定はできない。 | | 次の設定はできない。 |
| + | |
| + | タイマーシグナルの発生頻度も、lib_waitsignaltime()と同様に、間隔が少なくとも |
| + | 10ミリ秒以上はあってほしい。これももちろん10ミリ秒単位であることを要請している |
| + | わけではない。また頻繁に繰り替えすことがないのなら、10ミリ秒を |
| + | 下回ることがあってもかまわない。将来のOSASKでは、連続して何度も10ミリ秒以下の |
| + | 指定をした場合、OS側で強制的に10ミリ秒間間隔に補正される可能性がある。 |
| + | 現在のOSASKでは、OSの動作が不安定になるので、やってはいけない。 |
| | | |
| 参考になるサンプル:dblcntc0(introb) | | 参考になるサンプル:dblcntc0(introb) |
| + | -p0crefリンク:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0078_32 |
| | | |
| ***lib_settimer | | ***lib_settimer |
| もともと休止状態にあるタイマーに対し、キャンセルしてもよいが、何も起きない。 | | もともと休止状態にあるタイマーに対し、キャンセルしてもよいが、何も起きない。 |
| | | |
- | タイマーシグナルの発生頻度も、lib_waitsignaltime()と同様に、間隔が少なくとも | + | 参考になるサンプル:dblcntc0(introb) |
- | 10ミリ秒以上はあってほしい。これももちろん10ミリ秒単位であることを要請している | + | -p0crefリンク:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0078_1 |
- | わけではない。また頻繁に繰り替えすことがないのなら、10ミリ秒を | + | |
- | 下回ることがあってもかまわない。将来のOSASKでは、連続して何度も10ミリ秒以下の | + | ***lib_settimertime2 |
- | 指定をした場合、OS側で強制的に10ミリ秒間間隔に補正される可能性がある。 | + | void lib_settimertime2(int opt, int slot0, int slot1, unsigned int *time) : |
- | 現在のOSASKでは、OSの動作が不安定になるので、やってはいけない。 | + | |
| + | 2つのタイマーの間の時間差を算出します。timeはunsigned intの配列(もしくはポイ |
| + | ンタ)で、最低でも3つの要素が必要です。計算された値が、timeに格納されます。 |
| + | |
| + | time = slot1 - slot0 |
| + | |
| + | time[0]が下位で、time[2]が上位です。time[1]がちょうど秒の位になります。つまり、 |
| + | タイマー設定の際のいつもの単位です。なおこの時に返される値の精度については保証 |
| + | しません。おそらくOSASKのバージョンによってまちまちでしょう。 |
| + | |
| + | 参考になるサンプル:starsc0(introd) |
| + | -p0crefリンク:http://user.ecc.u-tokyo.ac.jp/~g240845/osask/p0cref.html#0078_82 |
| | | |
| **タイマーの3つの状態 | | **タイマーの3つの状態 |