打印

求教GD32f107C关于I2S播WAV那个例程的问题

[复制链接]
1649|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
3123|  楼主 | 2014-8-27 17:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
boss给了一个对WAV处理的库,由于算法多,需要提高主频,于是我把PLL那个倍频系数从12修改到13(主频从96M变成104M),i2s的波特率配置成48000,结果音调变高了一点,对库的效果和96M时候一样,搞不懂为啥。
之后分别尝试了88M,80M,72M,64M,发现从96M到72M是一个周期,音调像波浪一样起伏变化。从倍率上看似乎和12有关,实在不明白修改主频居然能影响播放频率,请指点一下。
沙发
kekeke| | 2014-8-27 22:02 | 只看该作者
你看看时钟图就懂了,I2S的时钟是从主频上分频的

使用特权

评论回复
板凳
3123|  楼主 | 2014-8-28 09:34 | 只看该作者
多谢指点。
总结:104M没法被48000整除,system_spi.C给出四舍五入的算法,实际波特率略高于48000.

使用特权

评论回复
地板
sunmeat| | 2014-8-28 13:32 | 只看该作者
3123 发表于 2014-8-28 09:34
多谢指点。
总结:104M没法被48000整除,system_spi.C给出四舍五入的算法,实际波特率略高于48000. ...

弄个正好能整除的不好弄,最好懂弄成整数

使用特权

评论回复
5
sunmeat| | 2014-8-29 20:17 | 只看该作者
https://bbs.21ic.com/icview-791942-1-1.html
你参考下这个帖子的例程

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

37

帖子

0

粉丝