Взял пример http://electronix.ru/forum/index.php?act=a...st&id=34513, единственный который удалось найти в инете. Убрал вход I2S, подключил DMA (#define I2S_DMA_ENABLED 0), в выходной буфер DMA сгенерил синус. На выходе получаю только один период соответствующий размеру буфера.
1. В примере прерывание от I2S разрешается только когда нет DMA. В обработчике реализован только приём данных. Это правильно?
2. Как возобновить проигрывание буфера?
3. I2SDMAx. Что означает rx_depth_dma, trx_depth_dma?
4. I2SIRQ. Что означает rx_depth_Irq, tx_depth_Irq?
5. I2SSTATE. Что означает dmareq1, dmareq2, rx_level, tx_level?
6. Есть ЦАП с входными пинами SCK, BCK, DATA, LBCK. Им соответствуют пины LPC, I2STX_CLK – BCK, I2STX_WS – LBCK, I2STX_SDA – DATA. А куда подключать SCK?
7. Самое главное. Есть документ, где обо всем этом подробно и толково изложено. И вообще обо всех интерфейсах.