OpenEdv-开源电子网

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

倾家荡产78金,求助H7 SPI DMA模式!

[复制链接]

38

主题

116

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2016-2-24
在线时间
84 小时
发表于 2018-9-18 10:40:58 | 显示全部楼层 |阅读模式
78金钱
本帖最后由 zhanjian 于 2018-9-18 11:21 编辑

       H7 CUBEMX配置的spi  dma,或者官方例程移植,都不成功! 接收的数据都是0,头大,搞了两天。不知道,群里的大神能否指点一下!


用来读写W25Q128!      

最佳答案

查看完整内容[请看2#楼]

另外开贴,加金币!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

38

主题

116

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2016-2-24
在线时间
84 小时
 楼主| 发表于 2018-9-18 10:40:59 | 显示全部楼层
回复

使用道具 举报

2

主题

756

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4163
金钱
4163
注册时间
2017-10-24
在线时间
251 小时
发表于 2018-9-18 10:56:16 | 显示全部楼层
我去楼主真的是倾家荡产。。。鄙人不懂此处,帮顶!
十六进制带我飞。
回复

使用道具 举报

1

主题

33

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
251
金钱
251
注册时间
2015-10-13
在线时间
88 小时
发表于 2018-9-18 10:56:53 | 显示全部楼层
..。怎么用都没说。。。怎么棒
回复

使用道具 举报

27

主题

711

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
12412
金钱
12412
注册时间
2015-11-5
在线时间
2134 小时
发表于 2018-9-18 11:14:40 | 显示全部楼层
还有最后的3金怎么给?
拿来长岛冰茶换我半晚安睡
回复

使用道具 举报

38

主题

116

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2016-2-24
在线时间
84 小时
 楼主| 发表于 2018-9-18 11:21:40 | 显示全部楼层
DreamWaterPro 发表于 2018-9-18 10:56
我去楼主真的是倾家荡产。。。鄙人不懂此处,帮顶!

读写W25Q128!  你谦虚了
回复

使用道具 举报

38

主题

116

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2016-2-24
在线时间
84 小时
 楼主| 发表于 2018-9-18 11:22:02 | 显示全部楼层
本帖最后由 zhanjian 于 2018-9-18 11:28 编辑
Snail_Feng 发表于 2018-9-18 10:56
..。怎么用都没说。。。怎么棒

读写W25Q128,或者配置好也行了!
回复

使用道具 举报

38

主题

116

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2016-2-24
在线时间
84 小时
 楼主| 发表于 2018-9-18 11:27:24 | 显示全部楼层
FreeRTOS 发表于 2018-9-18 11:14
还有最后的3金怎么给?

,这个问题问得好!我开始想预支3金,填81金的,但是论坛不支持。跟春晚小沈阳一样,一个菜没点还要送一个?论坛说:帖子都没法,就想要3金! 乐一乐,解决问题就行了
回复

使用道具 举报

1

主题

33

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
251
金钱
251
注册时间
2015-10-13
在线时间
88 小时
发表于 2018-9-18 11:43:24 | 显示全部楼层
zhanjian 发表于 2018-9-18 11:22
读写W25Q128,或者配置好也行了!

读取数据的时候需要做的是把spi改成只读模式,这个我做过的不过我用的不是hal用的ll库
回复

使用道具 举报

1

主题

33

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
251
金钱
251
注册时间
2015-10-13
在线时间
88 小时
发表于 2018-9-18 11:46:07 | 显示全部楼层
QQ图片20180918114522.png
回复

使用道具 举报

38

主题

116

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2016-2-24
在线时间
84 小时
 楼主| 发表于 2018-9-18 12:57:40 | 显示全部楼层

好的,我试试! 我只写,只读之前也试过,不行! 不过是用HAL库,习惯了
回复

使用道具 举报

1

主题

33

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
251
金钱
251
注册时间
2015-10-13
在线时间
88 小时
发表于 2018-9-18 13:39:08 | 显示全部楼层
zhanjian 发表于 2018-9-18 12:57
好的,我试试! 我只写,只读之前也试过,不行! 不过是用HAL库,习惯了

还不行你就链接逻辑分析仪看下是什么问题
回复

使用道具 举报

160

主题

967

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2097
金钱
2097
注册时间
2014-3-7
在线时间
491 小时
发表于 2018-9-18 14:48:23 | 显示全部楼层
本帖最后由 ssssssssssss 于 2018-9-18 14:50 编辑
Snail_Feng 发表于 2018-9-18 13:39
还不行你就链接逻辑分析仪看下是什么问题

由于项目需要,STM32F303跟STM32F405之间要用到DMA+SPI口来估大量数据传输,实现两边的数据收发。开始只用到MISO,MOSI,跟CLK三个信号,STM32F303配置成主机,18M的波特率,用DMA发4K的Buffer的数据,STM32F405这边用DMA循环接收SPI的数据,调试发现数据死活就是接收不对,完全是错乱的。改成不用DMA,直接SPI单个单个不停发送,接收数据却是正常的。用示波器看两个信号线的信号,信号也还好,用示波器的逻辑分析仪去分析SPI的通信,发现SPI的连续传输的时候,CLK是连续的,分析仪分析不到MISO上的数据或者分析出来的也是错误的。就猜想如果SPI的时钟在传输过程中是连续不间距的话,那么逻辑分析怎么可能知道SPI的MISO上1Byte的波形哪位才是初始位??STM32的SPI也是一样,硬件没法判断到,接收就错乱了。SPI通信中,如果时间每Byte的时钟不连续,就可以通过这时钟的间隙来判断。
     
   
         用专门的逻辑分析采齐SPI的数据来分析,数据对的,说明发送是正确的。就是接收错乱,让我更坚信前面的猜想,想要解决这个问题,最好就是增加同步,用一个同步线来告诉从机的SPI什么时候是一个Byte的开始,什么时候是结束。这里想到肯定是用NSS引脚来做,标准的SPI是不支持的,但是看到了TI Mode,这问题就解决了,也证实我的猜想。看下图TI Mode的时序
   
配置NSS引脚,405跟303把SPI配置修改为硬件NSS和TI Mode模式,再Debug就看到从机的接收Buffer上正常的数据。
       前前后后折腾DMA+SPI有长的时间,网上都没有这样大量数据传输的应用,基本上都SPI的最简单应用,只要CLK不是连续的就不会出现这问题。按理来说如果STM32的SPI硬件时序做好了的话,也不会出现这问题,实际上它就是这里出问题了,我只能说STM32 的SPI也做得有点烂。

http://www.stmcu.org/module/foru ... xtra=page%3D&page=1

https://blog.csdn.net/musicalspace/article/details/52735130

回复

使用道具 举报

160

主题

967

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2097
金钱
2097
注册时间
2014-3-7
在线时间
491 小时
发表于 2018-9-18 14:51:03 | 显示全部楼层
ssssssssssss 发表于 2018-9-18 14:48
由于项目需要,STM32F303跟STM32F405之间要用到DMA+SPI口来估大量数据传输,实现两边的数据收发。开始只 ...

上面两个帖子看看,能解决的,关键是给金币吗
回复

使用道具 举报

38

主题

116

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2016-2-24
在线时间
84 小时
 楼主| 发表于 2018-9-18 23:37:16 | 显示全部楼层
ssssssssssss 发表于 2018-9-18 14:51
上面两个帖子看看,能解决的,关键是给金币吗

能解决当然给了,问题是我是用的H743,跟F7,F4,F1还是有些不同的。当然很感谢你分享你的成果,但是我还是能力有限,看不太明白你的东西。
回复

使用道具 举报

49

主题

341

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5262
金钱
5262
注册时间
2012-8-25
在线时间
1025 小时
发表于 2018-9-19 08:05:06 | 显示全部楼层
h7没用过,或许是ram配置问题?M4里有ccm不支持dma。
回复

使用道具 举报

90

主题

534

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1059
金钱
1059
注册时间
2017-4-12
在线时间
280 小时
发表于 2018-9-19 11:21:12 | 显示全部楼层
IO是否正确, H7 用的是QSPI 。  SPI例程是无线模块,如果用SPI读写Flash,是不是要改硬件?
回复

使用道具 举报

1

主题

119

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1968
金钱
1968
注册时间
2013-10-7
在线时间
325 小时
发表于 2018-9-19 11:49:12 | 显示全部楼层
帮顶啊
回复

使用道具 举报

38

主题

116

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2016-2-24
在线时间
84 小时
 楼主| 发表于 2018-9-19 13:08:40 | 显示全部楼层
烈日灼心 发表于 2018-9-19 11:21
IO是否正确, H7 用的是QSPI 。  SPI例程是无线模块,如果用SPI读写Flash,是不是要改硬件?

我的是官方的 NUCLED--H743ZIT6的板子,我不是用QSPI的例程
回复

使用道具 举报

38

主题

116

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2016-2-24
在线时间
84 小时
 楼主| 发表于 2018-9-19 13:09:37 | 显示全部楼层
回复

使用道具 举报

90

主题

534

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1059
金钱
1059
注册时间
2017-4-12
在线时间
280 小时
发表于 2018-9-19 13:49:49 | 显示全部楼层
zhanjian 发表于 2018-9-19 13:08
我的是官方的 NUCLED--H743ZIT6的板子,我不是用QSPI的例程

额 不好意思 ,在下失言了
穷不可怕,可怕的是穷的是我~~~
回复

使用道具 举报

7

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2016-12-2
在线时间
35 小时
发表于 2018-9-19 16:45:44 | 显示全部楼层
帮顶。。。。。。。
回复

使用道具 举报

10

主题

82

帖子

0

精华

高级会员

Rank: 4

积分
539
金钱
539
注册时间
2017-7-28
在线时间
109 小时
发表于 2018-9-19 17:08:33 | 显示全部楼层

LL库,没怎么用过
回复

使用道具 举报

38

主题

116

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2016-2-24
在线时间
84 小时
 楼主| 发表于 2018-9-19 18:09:48 | 显示全部楼层
y309976659 发表于 2018-9-19 16:45
帮顶。。。。。。。

回复

使用道具 举报

38

主题

116

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2016-2-24
在线时间
84 小时
 楼主| 发表于 2018-9-19 18:10:15 | 显示全部楼层
michael91 发表于 2018-9-19 17:08
LL库,没怎么用过

回复

使用道具 举报

1

主题

6

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2018-9-20
在线时间
1 小时
发表于 2018-9-21 09:21:03 | 显示全部楼层
mark   帮顶+学习
回复

使用道具 举报

38

主题

116

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2016-2-24
在线时间
84 小时
 楼主| 发表于 2018-9-21 14:37:54 | 显示全部楼层
wwf 发表于 2018-9-21 09:21
mark   帮顶+学习

回复

使用道具 举报

0

主题

286

帖子

0

精华

高级会员

Rank: 4

积分
950
金钱
950
注册时间
2018-4-21
在线时间
264 小时
发表于 2018-9-26 15:31:22 来自手机 | 显示全部楼层
帮顶  
回复

使用道具 举报

38

主题

116

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2016-2-24
在线时间
84 小时
 楼主| 发表于 2018-10-6 16:00:21 | 显示全部楼层
回复

使用道具 举报

38

主题

116

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2016-2-24
在线时间
84 小时
 楼主| 发表于 2018-10-6 16:01:02 | 显示全部楼层
michael91 发表于 2018-9-19 17:08
LL库,没怎么用过

回复

使用道具 举报

38

主题

116

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2016-2-24
在线时间
84 小时
 楼主| 发表于 2018-10-6 16:01:37 | 显示全部楼层
y309976659 发表于 2018-9-19 16:45
帮顶。。。。。。。

回复

使用道具 举报

38

主题

116

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2016-2-24
在线时间
84 小时
 楼主| 发表于 2018-10-6 16:01:59 | 显示全部楼层
烈日灼心 发表于 2018-9-19 13:49
额 不好意思 ,在下失言了

木有关系!
回复

使用道具 举报

38

主题

116

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2016-2-24
在线时间
84 小时
 楼主| 发表于 2018-10-6 16:02:21 | 显示全部楼层
回复

使用道具 举报

3

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2019-10-23
在线时间
42 小时
发表于 2020-5-11 16:58:33 | 显示全部楼层
楼主问题解决了吗?我的也是一直接收不到数据,但是主机的mosi和miso短接的话,可以观察到数据,但是就是从机不行。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-1 23:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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