const PDS_PERIPHERAL* pdGetPeripheralDirect( port, buf, rawdata, rawinfo )
Uint32 port
PDS_PERIPHERAL *buf
void *rawdata
void *rawinfo
port ポート番号
引数 bufで指定されたアドレス
指定されたバッファにペリフェラルデータを取得します。引数 port に指定するポート番号は以下のとおりです。
定義 意味 PDD_PORT_A0 コントロールポートA PDD_PORT_B0 コントロールポートB PDD_PORT_C0 コントロールポートC PDD_PORT_D0 コントロールポートD
この関数は、pdSetIntFunction()関数を使って登録したユーザー割り込み関数中に記述して利用します。
PDS_PERIPHERAL PadData; pdGetPeripheralDirect(PDD_PORT_A0, &PadData, NULL, NULL);
この関数に渡すバッファは、 同じコントローラに対しては同じバッファを常に指定するようにしてください。この関数は PDS_PERIPHERAL構造体のpress、releaseメンバを、 同構造体のoldメンバを参照して生成します。 つまり前回の値に依存します。
異なるバッファを渡してしまうと、press、releaseメンバが正しく取得できません。 なお、通常のペリフェラル取得関数pdGetPeripheral()とは全く独立して動作しますので、 pdGetPeripheral()関数の動作には影響を与えません。
また、この関数は、特にこの割り込み関数中でなくとも、任意のタイミングで使用可能です。 VMへのファイルアクセス、液晶表示、振動デバイスの振動等を行うと、 ハードウェアの処理時間が長くなり、 レイテンシ減少の効果を最大限に得ることができません。
pdGetPeripheral() コントローラのボタン状態の取得 pdSetIntFunction() コントロールポート割り込み関数の登録