10 spi DMA 发送数据失败

发布于 2020-10-15 11:02:26

硬件配置:stm32F103ret6
软件:rtthread 4.0.2
问题:我这原先是通过SPI直接发送数据给ILI9341 LCD的控制芯片来做屏幕的显示,原先没有采用DMA的方式来做传输是正常的,后面改成DMA的方式来做传输整个程序直接卡住,不运行了,DMA的相关初始化我是通过STM32CubeMX生成的初始化代码,把该工程直接烧写到板子上是能够通过 HAL_SPI_Transmit_DMA函数发送数据的,但是相关初始化代码移植到rtthread工程中去,执行到HAL_SPI_Transmit_DMA函数的时候直接程序卡死,以下是我相关的初始化代码截图
image.png
image.png
我不知道是不是因为rtthread在开始的时候 就关闭了总中断了,如图:
image.png

那这要如何处理DMA了??求大佬指点!!!

查看更多

关注者
1
被浏览
632
2 个回答
yutian0606
yutian0606 2020-10-15

昨晚我也是在搞 SPI DMA驱动lcd,没用DMA是正常的,用了就不行了,还没找到原因。
用RTT系统的SPI函数发数据效率比直接用HAL库函数发数据低很多。

phd1998
phd1998 2020-10-17

之前我在使用spi读写w25q的时候也开启了spi DMA,但是刚开始也是无法正常传输数据。
后来发现将spi发送的指令数据高低位调换了,能够正常使用。
具体可以参考一下刚写的博客:
https://blog.csdn.net/qq_38944028/article/details/109079939

撰写答案

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

发布
问题

分享
好友

手机
浏览

扫码手机浏览