LPCOpenの periph_i2sプロジェクトを改造して簡単なDELAYを作成します。
サンプリングレートからi2sの通信速度を設定できるのでこちらを利用することにしました。
サンプリングレートは、48kHzも必要なく、処理時間を確保したいので32kHzとします。16bitデータ長のステレオ設定としました。
データは、割り込みで取得します。とりあえず、0.5秒間のDELAYを実現するために32bit符号なし整数のバッファを作成します。バッファ長は、32000の半分なので16000個、64kBとなります。リングバッファで使い、今回のデータと16000回前のデータを足し合わせて出力しました。
今回、これだけです。まずは、足し合わせはできることが確認できました。もっと複雑な処理に挑戦したいと思います。