変換データの転送方式には2種類の方法が存在します。
デバイスバッファモード
変換開始後、変換データはデバイスバッファ(デバイスが持っているメモリもしくはドライバ内部のメモリ)に格納されていきます。 デバイスバッファはFIFOまたはRINGメモリとして使用することができます。 アプリケーションは、必要な時に関数を実行してデバイスバッファから変換データを取得します。 デバイスバッファモードは、サンプリング回数を単位として変換データを扱える事や、 変換データを直接電圧値で取得する関数も用意されており、ユーザーバッファモードに比べて簡単に使用できます。 また、ほとんどの使用用途に対応できる機能が用意されているので、通常はデバイスバッファモードの使用をお勧めします。 |
ユーザーバッファモード
変換開始前に変換データを格納するアプリケーションメモリを確保し、登録しておきます。 変換開始後、変換データはドライバを経由して直接アプリケーションメモリに格納されていきます。 ユーザーバッファはメモリへの上書きあり/なしを選択する事ができます。 バスマスタ転送機能を持つデバイスの場合、ユーザーバッファモードでは自動的にバスマスタ転送を使用します。
|
転送方式の設定はAioSetAiTransferMode関数を使用します。
Ret = AioSetAiTransferMode ( Id , AiTransferMode )
AiTransferModeに転送方式を設定します。AiTransferMode = 0でデバイスバッファモード、AiTransferMode = 1でユーザーバッファモードです。
ユーザーバッファモードを使用する場合、ユーザーバッファの設定を行ってください。