查看: 6953|回复: 2

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

[复制链接]
  • TA的每日心情
    慵懒
    2025-5-7 08:45
  • 签到天数: 279 天

    连续签到: 1 天

    [LV.8]以坛为家I

    114

    主题

    1313

    帖子

    29

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    10885

    热心会员

    最后登录
    2025-7-18
    发表于 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, 下载次数: 30)
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情

    2025-5-29 09:38
  • 签到天数: 632 天

    连续签到: 1 天

    [LV.9]以坛为家II

    94

    主题

    1639

    帖子

    2

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    4470

    热心会员

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

    使用道具 举报

  • TA的每日心情
    开心
    2025-7-11 08:53
  • 签到天数: 301 天

    连续签到: 2 天

    [LV.8]以坛为家I

    3868

    主题

    7472

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    39227
    最后登录
    2025-7-18
    发表于 2021-5-24 09:43:25 | 显示全部楼层
    完美
    qiandao qiandao
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-19 13:23 , Processed in 0.086791 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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