查看: 1471|回复: 2

[分享] i.MX RT1010驱动WM8960播放音频教程

[复制链接]
  • TA的每日心情
    慵懒
    2024-2-8 09:39
  • 签到天数: 217 天

    [LV.7]常住居民III

    92

    主题

    1112

    帖子

    29

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    7652

    热心会员

    最后登录
    2024-4-26
    发表于 2021-5-22 18:05:42 | 显示全部楼层 |阅读模式
    之前应日天兄之邀,制作了一个小教程,但是,因为本人理解错了日天兄的意思,压短了关于程序介绍的部分,因此在此对程序相关的一部分做一下简要的补充(本文请配合视频食用哦)。

    配置sai接口是由MCUXpresso进行配置的,有兴趣的可以研究一下。

    由于我们之前定义WM8960的MCLK是由RT1010提供,所以我们需要配置相关引脚复用。
    相关手册如图;这里需要把第19位配置为1
    QQ截图20210522172623.png
    QQ截图20210522172650.png
    1. IOMUXC_GPR->GPR1 |= IOMUXC_GPR_GPR1_SAI1_MCLK_DIR_MASK;
    复制代码
    吐吐槽,话说这也不给个函数。。。。

    另一个主要函数就是
    1. status_t SAI_TransferSendNonBlocking(I2S_Type *base, sai_handle_t *handle, sai_transfer_t *xfer);
    复制代码
    参数很简单,第一个是选择使用的sai,第二个sai配置的句柄,第三个是需要传输数据的地址与长度。这个可以以非阻塞模式进行音频传输。如果需要判断传输结束可以通过中断。

    程序中的延时是必须的,不然就会出现WM8960无法正常播放的问题。
    NXP的库还是很完善的,封装也比较合理(再加加油啊,做的更好用一点)。

    最后,感谢日天兄

    附上程序工程
    程序.zip (2.01 MB, 下载次数: 26)
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情

    2024-2-5 12:06
  • 签到天数: 627 天

    [LV.9]以坛为家II

    94

    主题

    1628

    帖子

    2

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    4429

    热心会员

    最后登录
    2024-2-5
    发表于 2021-5-24 09:39:10 | 显示全部楼层
    OK,谢谢楼主分享~
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3300

    主题

    6547

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32032
    最后登录
    2024-4-26
    发表于 2021-5-24 09:43:25 | 显示全部楼层
    完美
    签到签到
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-27 08:32 , Processed in 0.114273 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表