# MIC_DoSampling

## 構文

  `#include <nitro/spi.h>`

      MICResult MIC_DoSampling(
                  MICSamplingType  type,
                  void*            buf );

## 引数

type | `MICSamplingType`列挙型のサンプリング種別
buf | サンプリング結果を格納するバッファへのポインタ

## 返り値

`MICResult`列挙型の処理結果を返します。
処理が正常に完了した場合に MIC_RESULT_SUCCESS が、何らかの原因で失敗した場合にはそれ以外の返り値が返されます。

## 説明

マイクのサンプリングを一回行います。
サンプリング前には `PM_SetAmp*()` によってプログラマブルゲインアンプをオンにして下さい。
この関数はARM7にサンプリング実行要求を発行し、ARM7からの応答を待って処理結果を返します。
`MIC_DoSamplingAsync()`の同期版です。
なお、入力音量が最大値及び最小値を越える場合には出力データはクランプされます。 サンプリング可能な入力音量は、`PM_SetAmpGain*()`により事前に調整しておくことができます。

## 注意

この関数は同期を取る為にPXI割り込みを待ちますので、PXI割り込みを禁止した状態で呼び出さないようにして下さい。

TWL のマイク入力には、微小なノイズが混入することが判明しています。対策はこちらをご覧下さい。

## 参照

`MIC_DoSamplingAsync, PM_SetAmpGain*`

## 履歴

Ver. 2009/06/25 PM_SetAmp*() の使用について追記
Ver. 2005/03/08 用語統一 [割込み] → [割り込み]
Ver. 2005/01/11 返り値の修正
Ver. 2004/08/10 入力音量に関する説明追加
Ver. 2004/06/01 初版