質問: Spresense-Arduino のスケッチ例 pcm_captureではバッファにデータがたまると終了するようになっていますが、これを データ収録開始→バッファにデータが貯まる→データ取り出し&データをSPI送信→バッファクリア→データ収録開始→... のようなサイクルにしたいのですが、連続して音声データをキャプチャする場合、 theAudio->startRecorder(); ↓ theAudio->readFrames(...); ↓ theAudio->stopRecorder(); ↓ theAudio->startRecorder(); ↓ ... のように繰り返すことになるのでしょうか? 可能であればサンプルコードをご提示願えませんでしょうか もうひとつ、SpresenseにおいてSPI通信を行う場合、Spresenseをスレーブとして動作させることは可能でしょうか? よろしくお願いいたします。
回答: @ford shelling さん pcm_captureのスケッチにある、 theAudio->readFrames(s_buffer, buffer_size, size); は、readFramesを呼ぶことで、theAudioの中のFIFOからデータを読み出して、 FIFOのread pointerを進めていくようです。 なので、リアルタイムで読み出し続けるようなアプリケーションの場合、 theAudio->readFrames を呼び続けるだけで、start/stopは不要だと思われます。 また、SpresenseのSPIはmaster機能しかないように見えますね。