ステップ3:転送方式の設定

変換データの転送方式には2種類の方法が存在します。

デバイスバッファモード

アプリケーションの出力データをいったんデバイスバッファ(デバイスが持っているメモリもしくはドライバ内部のメモリ)に格納します。

変換開始後、デバイスバッファの出力データがデバイスに出力されます。

デバイスバッファはFIFOまたはRINGメモリとして使用することができます。

デバイスバッファモードは、ジェネレーティング回数を単位として変換データを扱える事や、

変換データを直接電圧値で設定する関数も用意されており、ユーザーバッファモードに比べて簡単に使用できます。

また、ほとんどの使用用途に対応できる機能が用意されているので、通常はデバイスバッファモードの使用をお勧めします。

ユーザーバッファモード

変換開始前に出力データが格納されているアプリケーションメモリ登録しておきます。

変換開始後、変換データはドライバを経由して直接デバイスへ出力されていきます。

ユーザーバッファはメモリへの上書きあり/なしを選択する事ができます。

バスマスタ転送機能を持つデバイスの場合、ユーザーバッファモードでは自動的にバスマスタ転送を使用します。

バスマスタ転送を使用する場合はユーザーバッファモードを選択してください。

転送方式の設定はAioSetAiTransferMode関数を使用します。

Ret = AioSetAoTransferMode ( Id , AoTransferMode )

AoTransferModeに転送方式を設定します。AoTransferMode = 0でデバイスバッファモード、AoTransferMode = 1でユーザーバッファモードです。

ユーザーバッファモードを使用する場合、ユーザーバッファの設定を行ってください。