硬汉嵌入式论坛

 找回密码
 立即注册
查看: 567|回复: 9
收起左侧

[SAI/I2S] STM32H7 I2S发送错误,请教一下I2S的DMA发送有什么可以参考的吗?

[复制链接]

2

主题

29

回帖

35

积分

新手上路

积分
35
发表于 2023-7-31 18:46:49 | 显示全部楼层 |阅读模式
STM32H7 I2S发送错误,请教一下I2S的DMA发送有什么可以参考的吗?

通过MX创建了一个工程,使用I2S1,SPI1口,DMA发送方式,一启动发送,第二次就失败。有没有这方面做过的大师帮忙看看
查找了几天也没找到原因,貌似现在I2S相关的用法太少了。硬件设计上当初没用接SAI,只接了I2S
现在就是不知道是DMA没取得数据权限还是I2S操作的问题。

f50d635cb0b542c1024c0017fb0a14c.png

I2S1.zip

14.64 MB, 下载次数: 8

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2023-8-1 09:03:58 | 显示全部楼层
触发DMA FIFO异常,那就把DMA FIFO使能关闭了测试下。
回复

使用道具 举报

2

主题

29

回帖

35

积分

新手上路

积分
35
 楼主| 发表于 2023-8-1 09:28:56 | 显示全部楼层
也是不行的,我用// HAL_I2S_Transmit_IT(&hi2s1, "123", 3);        发送也是一样,发后,就SPI中断都不进了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2023-8-1 12:27:20 | 显示全部楼层
housping 发表于 2023-8-1 09:28
也是不行的,我用// HAL_I2S_Transmit_IT(&hi2s1, "123", 3);        发送也是一样,发后,就SPI中断都不进了

这个 HAL_I2S_Transmit_IT(&hi2s1, "123", 3);都进不去,那你的程序配置应该有问题。
回复

使用道具 举报

2

主题

29

回帖

35

积分

新手上路

积分
35
 楼主| 发表于 2023-8-1 12:37:58 | 显示全部楼层
配置是MX生成的配置,可以发送3个字节,再后面就不能发了
回复

使用道具 举报

2

主题

29

回帖

35

积分

新手上路

积分
35
 楼主| 发表于 2023-8-1 14:26:14 | 显示全部楼层
第一次能发,另外MCLK和SCK都是正常的输出,配置是MX生成的,另外网上查了一下,也没有看到其它特别的,就是发现不少人也是像我一样,只能发一次。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2023-8-1 17:16:37 | 显示全部楼层
housping 发表于 2023-8-1 14:26
第一次能发,另外MCLK和SCK都是正常的输出,配置是MX生成的,另外网上查了一下,也没有看到其它特别的,就 ...

看了你的程序,使用的RAM空间0x38000000,这个空间的RAM时钟是不是没有开。
回复

使用道具 举报

2

主题

29

回帖

35

积分

新手上路

积分
35
 楼主| 发表于 2023-8-2 10:01:47 | 显示全部楼层
这个之前是0x24000000的,也是一样结果,后来我看试试0x30000000
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2023-8-3 08:14:19 | 显示全部楼层
housping 发表于 2023-8-2 10:01
这个之前是0x24000000的,也是一样结果,后来我看试试0x30000000

查了下,反馈H7的I2S问题的确实不少。

https://community.st.com/t5/stm3 ... t/m-p/281146#M14367
回复

使用道具 举报

2

主题

29

回帖

35

积分

新手上路

积分
35
 楼主| 发表于 2023-8-3 08:42:56 | 显示全部楼层
945503b66e81d48c1715e0c915b36f2.png


后来基本找到问题了,应该是需要判断I2S是否已经发送完成,要用这个寄存器的这一位,但hal库里就没有对这一位的判断。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-30 00:07 , Processed in 0.189841 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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