# MIC_DoSampling

## Syntax

  `#include <nitro/spi.h>`

      MICResult MIC_DoSampling(
                  MICSamplingType  type,
                  void*            buf );

## Arguments

type | Sampling type as one of the `MICSamplingType` enumerated types.
buf | Pointer to the buffer where the sampling result is stored.

## Return Values

Returns the processing result as a `MICResult` enumerated type. If processing completes successfully, returns `MIC_RESULT_SUCCESS`. If processing fails for some reason, returns some other value.

## Description

Samples the microphone one time. This function issues a request to the ARM7 processor to execute sampling, waits for the ARM7 processor to respond, and then returns the process result. This is the synchronous version of the `MIC_DoSamplingAsync` function. Where the input volume exceeds the minimum or maximum value, the output data will be clamped. You can use the `PM_SetAmpGain*` functions in advance to adjust the input volume that can be sampled.

## Note

This function waits for a PXI interrupt for synchronization purposes. Do not call it when PXI interrupts are prohibited.

It has been confirmed that slight hardware noise is mixed with the microphone input on the TWL console. See here for a workaround.

## See Also

`MIC_DoSamplingAsync, PM_SetAmpGain*`

## Revision History

2005/03/08 Standardized the Japanese term for "interrupt."
2005/01/11 Revised return values.
2004/08/10 Added the description relating to the input volume.
2004/06/01 Initial version.

CONFIDENTIAL