[AT32A403A]

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

[复制链接]
644|2
手机看帖
扫描二维码
随时随地手机跟帖
Keshawn|  楼主 | 2025-2-3 15:13 | 显示全部楼层 |阅读模式
我使用官方标准版RT-Thread BSP里的工程时,通过ENV工具启用了SPI和I2C ,但是启用了SPI RX/TX DMA之后I2C 就会报错,后来分析源码发现代码里有条件宏,启用了SPI后就会屏蔽I2C的某些宏定义,如果同时要用到SPI和I2C 的话有没有什么办法可以解决这个冲突?
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

粉丝