打印
[AT32A403A]

AT32F403A 移植RT-thread时SPI DMA和I2C DMA 冲突?

[复制链接]
1789|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我使用官方标准版RT-Thread BSP里的工程时,通过ENV工具启用了SPI和I2C ,但是启用了SPI RX/TX DMA之后I2C 就会报错,后来分析源码发现代码里有条件宏,启用了SPI后就会屏蔽I2C的某些宏定义,如果同时要用到SPI和I2C 的话有没有什么办法可以解决这个冲突?

Snipaste_2025-02-03_14-59-59.png (1.07 MB )

Snipaste_2025-02-03_14-59-59.png

使用特权

评论回复
沙发
sheltonyu| | 2025-2-5 10:25 | 只看该作者
您好,因为DMA的通道数有限,支持DMA的外设又比较多,所以rtt部分外设驱动在做dma支持时就按默认方式进行了通道排列,以尽量保证对DMA功能的支持。
如果在使用过程中遇到外设间DMA通道冲突的情况,就请手动修改一下,就把其中一个外设的DMA通道挪到没用的通道上就行了,修改的点就是如图中对应外设的那几个宏定义配置。

使用特权

评论回复
板凳
caigang13| | 2025-2-5 11:14 | 只看该作者
是不是SPI和IIC的配置冲突了

使用特权

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

本版积分规则

6

主题

51

帖子

0

粉丝