テップ5:転送方式の設定

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

 

デバイスバッファモード

変換開始後、変換データはデバイスバッファ(デバイスが持っているメモリもしくはドライバ内部のメモリ)に格納されていきます。

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

アプリケーションは、必要な時に関数を実行してデバイスバッファから変換データを取得します。

デバイスバッファモードは、サンプリング回数を単位として変換データを扱える事や、

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

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

 

ユーザーバッファモード

変換開始前に変換データを格納するアプリケーションメモリを確保し、登録しておきます。

変換開始後、変換データはドライバを経由して直接アプリケーションメモリに格納されていきます。

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

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

 

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

Ret = AioSetAiTransferMode ( Id , AiTransferMode )

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

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