主题中讨论的其他器件:CC3200AUDBOOST、 LAUNCHXL-CC2650
函数 computeSCKdivider () 计算与音频编解码器之间的 I2S 数据传输具有合理 SCK 时钟所需的分频比。 这是通过将时钟速率(48MHz)除以预期的位速率(采样率 x 每个样本的位数 x NumberOfChannels、例如44.1kHz x 16位 x 2)来完成的。 对于44.1kHz、结果为34.0136、向下舍入到34。 对于48kHz、系数为31.25、向下舍入到31。 如果我使用一些其他(不常见)采样率、例如49kHz、则系数为30.612、向上舍入到31。 根据我的理解、SCK 时钟速率略低、这将导致随着时间的推移传输更多的采样、而 I2S 则可以处理更多的采样。 这将导致数据丢失并可能导致可闻失真。
请确认应将计算更改为始终向下舍入、或者告诉我为什么我的想法和结果不正确。