遇到一款dac芯片无法使用 手册上似乎限制了特定的时钟 在SF32LB52 在drv_i2s_audio.c 设置的分频系数为 8,预期得到的 I2S时钟 注释上预期为6.144 MHz 但打印最终生效的频率仅为 1.024 MHz 请问这是正常的吗?

最终生效的频率如果为1.024mhz ,后续使用txrx_clk_div的参数 似乎就会出问题

这个src_clk_freq你看代码中只有赋值, 没有使用得地方。

55x调得是__HAL_I2S_CLK_XTAL(), 使用48M

其它调得是__HAL_I2S_CLK_PLL(),使用的是49.152M

要改变频率,参考https://gitee.com/SiFli/sifli-sdk/blob/main/rtos/rtthread/bsp/sifli/drivers/drv_i2s_audio.c

里的I2S_USE_DOUBLE_MCLK, 那里定义I2S_USE_DOUBLE_MCLK为1

怎么去限制固定音频格式下的bclk呢?主要是修改txrx_clk_div的参数?


就是上面说的,取最新的drv_i2s_audio.c代码,将I2S_USE_DOUBLE_MCLK改为1就行了,CLK_DIV_T里面第四个参数就是改bclk的