OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3770|回复: 1

STM32H7 SPI1通过DMA收发数据问题

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2018-10-21
在线时间
5 小时
发表于 2018-10-31 18:37:10 | 显示全部楼层 |阅读模式
想问各位大大一下,STM32H7  SPI1通过DMA收发数据问题,按原子兄的例程配置好了通道,如下
        MYDMA_Config(DMA2_Stream2,37,(u32)&SPI1->RXDR,(u32)Rx_Buffer0,3,0);//关联相应通道的DMA RX  0表示外设到内存
        MYDMA_Config(DMA2_Stream3,38,(u32)&SPI1->TXDR,(u32)Tx_Buffer0,3,1);//关联相应通道的DMA TX 1表示内存到外设

启动传输过程如下:
                MYDMA_Enable(DMA2_Stream3,(u32)dat_ptr,rx_size);//开始一次DMA TX传输!         
                MYDMA_Enable(DMA2_Stream2,(u32)dat_ptr,rx_size);//开始一次DMA RX传输!         
                SPI1->CFG1 |= 1<<14;                        //RX DMA ENABLE
                SPI1->CFG1 |= 1<<15;                        //TX DMA ENABLE  
                temp = 0xffffff;
                while ((((DMA2->LISR  )&(1<<27))==RESET) && temp--);
                temp = 0xffffff;
                while ((((DMA2->LISR  )&(1<<21))==RESET) && temp--);
                DMA2->LIFCR |= (1<<27);
                DMA2->LIFCR |= (1<<21);
                SPI1->CFG1 &= ~(1<<14);                //RX DMA DISABLE  
                SPI1->CFG1 &= ~(1<<15);                //TX DMA DISABLE  

但是实际时看了clk,dma传输没有启动起来,各位看看是怎么回事呢,是启动时漏了什么步骤吗?(前面的配置应该没有问题,我的串口DMA传输正常)


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

16

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
241
金钱
241
注册时间
2014-7-14
在线时间
40 小时
发表于 2019-2-20 11:05:56 | 显示全部楼层
遇到了同样的问题,用HAL库只能发送一次后来改为寄存器操作,一次也启动不了,单独SPI都没问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 17:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表