SPI

官方有基于DMA的SPI介绍吗

发布于 2019-07-17 17:37:35
如题,有没有利用DMA进行SPI通信的介绍或者例程呢?

查看更多

关注者
0
被浏览
968
12 个回答
我夏了夏天
我夏了夏天 2019-07-17
可以打开通过 spi 控制的硬件,例如 spi flash 打开 spi dma 其读写速度会有明显提升。
CrisJay
CrisJay 认证专家 2019-07-17
    本帖最后由 CrisJay 于 2019-7-17 21:54 编辑


Summer_gift 发表于 2019-7-17 21:06
可以打开通过 spi 控制的硬件,例如 spi flash 打开 spi dma 其读写速度会有明显提升。 ...

好的,谢谢!是直接通过menuconfig选中 ENABLE SPI TX(RX) DMA 就可以吗,还是需要进行一些修改或者其他配置?
我夏了夏天
我夏了夏天 2019-07-18
CrisJay 发表于 2019-7-17 21:52
好的,谢谢!是直接通过menuconfig选中 ENABLE SPI TX(RX) DMA 就可以吗,还是需要进行一些修改或者其他配 ...

只需要 menucofig 选中即可。
CrisJay
CrisJay 认证专家 2019-07-18
Summer_gift 发表于 2019-7-18 07:58
只需要 menucofig 选中即可。


OK,感谢解答
CrisJay
CrisJay 认证专家 2019-07-18
在RTT_IOT对应的正点原子的开发板上,其LCD接的是SPI3口。使用RTT官方的 “stm32l475-atk-pandora” bsp配合最新的RTT框架,无法利用SPI3对应的DMA进行数据的发送。而且我发现menuconfig中有SPI1和SPI2选项但是没有SPI3选项(我后来自己加上的),加上SPI3并且加上了BSP_SPI3_TX_USING_DMA后程序能够正常进行DMA的初始化,但是会死在
while (HAL_SPI_GetState(spi_handle) != HAL_SPI_STATE_READY);
这上面,经检查引脚以及中断都配置了。DMA使用的是手册上对应的DMA2Channel2。将menuconfig中的Enable SPI3 TX DMA关闭后LCD可以正常使用。请问一下是不是SPI3的DMA还不完善呢?还是我自己有地方操作不对?
戎传林
戎传林 2019-08-16
CrisJay 发表于 2019-7-18 18:12
在RTT_IOT对应的正点原子的开发板上,其LCD接的是SPI3口。使用RTT官方的 “stm32l475-atk-pandora” bsp配 ...


这个问题你解决了吗,朋友
shenghao
shenghao 2019-08-16
楼主能把你的代码看下吗
hw75320
hw75320 2019-10-03
CrisJay 发表于 2019-7-18 18:12
在RTT_IOT对应的正点原子的开发板上,其LCD接的是SPI3口。使用RTT官方的 “stm32l475-atk-pandora” bsp配 ...


我感觉LCD不能用DMA方式进行SPI发送吧?你看看控制LCD除了正常的SPI口,是否还有D/C接口?若有,需在发送SPI数据同时进行D/C的控制,DMA方式没有对D/C的控制,那就肯定不行了。
CrisJay
CrisJay 认证专家 2019-10-03
hw75320 发表于 2019-10-3 09:49
我感觉LCD不能用DMA方式进行SPI发送吧?你看看控制LCD除了正常的SPI口,是否还有D/C接口?若有,需在发送 ...


D/C其实可以手动控制的,或者在DMA驱动中加入D/C控制的流程。不过这个是很早之前做的了,目前没有再进行研究,以后可能会再去研究研究
hw75320
hw75320 2019-10-03
CrisJay 发表于 2019-10-3 11:05
D/C其实可以手动控制的,或者在DMA驱动中加入D/C控制的流程。不过这个是很早之前做的了,目前没有再进行 ...


嗯,除非在DMA驱动中加入对D/C的控制,与SPI口数据做到时序上同步。顺便咨询一下,你有DMA发送的源码不?若有,能否提供一份,学习学习。谢谢!:handshake
CrisJay
CrisJay 认证专家 2019-10-03
hw75320 发表于 2019-10-3 11:33
嗯,除非在DMA驱动中加入对D/C的控制,与SPI口数据做到时序上同步。顺便咨询一下,你有DMA发送的源码不? ...


这是很久以前的了,是感兴趣做的,源码已经找不到了,以后再做可以交流交流
hw75320
hw75320 2019-10-03
CrisJay 发表于 2019-10-3 11:38
这是很久以前的了,是感兴趣做的,源码已经找不到了,以后再做可以交流交流 ...


:victory::handshake

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友