[STM32F4]

F405 DMA + SPI 传输异常

[复制链接]
1133|6
手机看帖
扫描二维码
随时随地手机跟帖
xiaofei558008|  楼主 | 2023-6-15 13:34 | 显示全部楼层 |阅读模式
DM, DMA, pi, spi
本帖最后由 xiaofei558008 于 2023-6-15 13:40 编辑

芯片 F405RG  1)、 SPI2 + DMA1 传输一次就会出现FIFO错误和DMA错误,不知道啥原因;
2)、SPI1 + DMA2 传输会出现 MISO 提前进入完成中断;很奇怪;

88514648aa282927d2.png

91659648aa45467b10.png
cs 是在DMA完成中断里面拉高的;

传输开始之前都会重置SPI_RX 的 DMA计数器;

F3 L4上都类似的代码,从来没有出现问题;


求大神支招;


使用特权

评论回复
xiaofei558008|  楼主 | 2023-6-15 15:32 | 显示全部楼层
原因大概是 Rx DMA 的 count 值,赋值新的值之后,老是会在dma rx通道使能之后自动减去计数值,有时使能后值没有变换,此时 spi 都是没有在传输的;
另外,关闭 spi 的 dma tx 和 rx 使能位之后,不会导致 dma rx 计数变化;
很是奇怪,f4 的 spi + dma 这么难用起来的嘛;吐血吐血

使用特权

评论回复
V853| | 2023-6-15 18:08 | 显示全部楼层
SPI+DMA没这么难用吧,是不是哪里配置出问题了?

使用特权

评论回复
xiaofei558008|  楼主 | 2023-7-12 12:29 | 显示全部楼层
V853 发表于 2023-6-15 18:08
SPI+DMA没这么难用吧,是不是哪里配置出问题了?

理论上没啥问题,实际就是没解决。

使用特权

评论回复
香水城| | 2023-7-12 13:57 | 显示全部楼层
xiaofei558008 发表于 2023-6-15 15:32
原因大概是 Rx DMA 的 count 值,赋值新的值之后,老是会在dma rx通道使能之后自动减去计数值,有时使能后 ...

你具体是在做什么呢? SPI1是主还是从?
SPI配置是怎样的?
主要代码是怎样的?

印象中F4 spi+dma并不难用。

使用特权

评论回复
香水城| | 2023-7-12 14:38 | 显示全部楼层
1816464ae4a4e9c726.png
6064364ae4a7fa57e6.png

使用特权

评论回复
xiaofei558008|  楼主 | 2023-7-27 14:43 | 显示全部楼层
香水城 发表于 2023-7-12 13:57
你具体是在做什么呢? SPI1是主还是从?
SPI配置是怎样的?
主要代码是怎样的?

SPI 访问一个麦歌恩的 磁编码器,做master,4线模式

使用特权

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

本版积分规则

137

主题

971

帖子

13

粉丝