// buffer to read samples into, each sample is 16-bits
shortsampleBuffer[256];// number of samples read
volatileintsamplesRead;//
// query the number of bytes available
intbytesAvailable=PDM.available();// read into the sample buffer
PDM.read(sampleBuffer,bytesAvailable);
read()
説明
PDMからデータを読み指定したバッファに格納します。
文法
1
PDM.read(buffer,size)
パラメータ
buffer: PDMデータを格納する配列
size: 読み取るバイト数
戻り値
読みっとたバイト数
スケッチ例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// buffer to read samples into, each sample is 16-bits
shortsampleBuffer[256];// number of samples read
volatileintsamplesRead;//
// query the number of bytes available
intbytesAvailable=PDM.available();// read into the sample buffer
IntbytesRead=PDM.read(sampleBuffer,bytesAvailable);// 16-bit, 2 bytes per sample
samplesRead=bytesRead/2;
// buffer to read samples into, each sample is 16-bits
shortsampleBuffer[256];// number of samples read
volatileintsamplesRead;//
// configure the data receive callback
PDM.onReceive(onPDMdata);// initialize PDM with:
// - one channel (mono mode)
// - a 16 kHz sample rate
if(!PDM.begin(1,16000)){Serial.println("Failed to start PDM!");while(1);}//
voidonPDMdata(){// query the number of bytes available
intbytesAvailable=PDM.available();// read into the sample buffer
IntbytesRead=PDM.read(sampleBuffer,bytesAvailable);// 16-bit, 2 bytes per sample
samplesRead=bytesRead/2;}
setGain()
説明
PDMインターフェイスにより利用されるゲインを設定します。
文法
1
PDM.setGain(gain)
パラメータ
gain: 利用するゲイン。0-255、指定されない場合のデフォルトは20。
戻り値
なし
スケッチ例
1
2
3
4
5
6
7
8
9
10
// optionally set the gain, defaults to 20
PDM.setGain(30);// initialize PDM with:
// - one channel (mono mode)
// - a 16 kHz sample rate
if(!PDM.begin(1,16000)){Serial.println("Failed to start PDM!");while(1);}