请帮助我,我被阻止使用 SAI 进行 I2S 24 位播放。
我可以说 16 位和 32 位没问题,我尝试通过 32 位格式移位 8 位来播放 24 位,然后我有问题。我认为配置应该基于那里。
寄存器可以是“SAI 发送配置 5 寄存器 (TCR5)”
然后我尝试更改 fsl_sai.c,不幸的是不起作用,如果我将插槽宽度更改为 32 并将 word_width 更改为 7 或 31,LRCLK 和数据就会消失 。
val_cr5 |= FSL_SAI_CR5_WNW (slot_width);
val_cr5 |= FSL_SAI_CR5_W0W (slot_width);
如果( sai -> is_lsb_first || sai -> is_dsd )
val_cr5 |= FSL_SAI_CR5_FBT ( 0 );
别的
val_cr5 |= FSL_SAI_CR5_FBT (word_width - 1 );
请帮助我了解如何配置 8 位移位以支持 24 位。