OpenEdv-开源电子网

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

STM32F4 SPI采用DMA方式接收不定长度问题????

[复制链接]

3

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2017-8-22
在线时间
12 小时
发表于 2017-8-22 18:05:45 | 显示全部楼层 |阅读模式
STM32F4接收数据长度比较长,不想频繁的进中断一个一个接收并判断,请问SPI如何利用DMA接收不定长度数据?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

1044

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3718
金钱
3718
注册时间
2011-5-23
在线时间
2012 小时
发表于 2017-8-22 19:48:42 | 显示全部楼层
SPI是全双工的,要接收必须要发送dummy数据以产生时钟。
所以不存在 “接收不定长度数据”
RT-Thread RTOS 音频,WIFI,蓝牙
回复 支持 反对

使用道具 举报

2

主题

13

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2017-5-15
在线时间
22 小时
发表于 2017-8-23 00:17:20 | 显示全部楼层
SPI接收不存在定长不定长这个概念啊
回复 支持 反对

使用道具 举报

3

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2017-8-22
在线时间
12 小时
 楼主| 发表于 2017-8-23 08:49:17 | 显示全部楼层
aozima 发表于 2017-8-22 19:48
SPI是全双工的,要接收必须要发送dummy数据以产生时钟。
所以不存在 “接收不定长度数据”

那如果我想接收不定长度,使用DMA,用不想频繁进入中断,请问有什么好的方法吗???
回复 支持 反对

使用道具 举报

3

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2017-8-22
在线时间
12 小时
 楼主| 发表于 2017-8-23 08:50:54 | 显示全部楼层
绿洲 发表于 2017-8-23 00:17
SPI接收不存在定长不定长这个概念啊

额?串口可以接收不定长度,SPI在这方面能不能实现这样的功能啊???
回复 支持 反对

使用道具 举报

3

主题

238

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1366
金钱
1366
注册时间
2016-5-26
在线时间
1698 小时
发表于 2017-8-23 09:11:52 来自手机 | 显示全部楼层
lz最好说明一下需要单片机做SPI的主机还是从机还是多主。2楼3楼估计都是按单片机做唯一主机来考虑的。
回复 支持 反对

使用道具 举报

3

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2017-8-22
在线时间
12 小时
 楼主| 发表于 2017-8-23 09:39:20 | 显示全部楼层
K.O.Carnivist 发表于 2017-8-23 09:11
lz最好说明一下需要单片机做SPI的主机还是从机还是多主。2楼3楼估计都是按单片机做唯一主机来考虑的。

一对一主从机通信,需要实现从机DMA的不定长度接收,不想频繁的进入中断
回复 支持 反对

使用道具 举报

11

主题

1044

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3718
金钱
3718
注册时间
2011-5-23
在线时间
2012 小时
发表于 2017-8-23 10:03:42 | 显示全部楼层
本帖最后由 aozima 于 2017-8-23 10:05 编辑

从机可以考虑下这个

因无法得知具体长度,所以从机端的DMA提前限制最大长度,然后根据CS释放信号的中断来判定一次命令序列的终止。
同时主从要约定通讯协议。


SPI从机时序.png
SPI 接口硬件时序及协议.pdf (514.7 KB, 下载次数: 316)
RT-Thread RTOS 音频,WIFI,蓝牙
回复 支持 反对

使用道具 举报

4

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2017-8-23
在线时间
3 小时
发表于 2017-8-23 11:03:02 | 显示全部楼层
需要ST品牌的样品吗? 填一份问卷可以得到三种ST任意型号的样品。 https://www.wjx.top/jq/15943942.aspx
回复 支持 反对

使用道具 举报

3

主题

238

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1366
金钱
1366
注册时间
2016-5-26
在线时间
1698 小时
发表于 2017-8-23 11:53:06 | 显示全部楼层
王查查 发表于 2017-8-23 09:39
一对一主从机通信,需要实现从机DMA的不定长度接收,不想频繁的进入中断

http://www.openedv.com/forum.php?mod=viewthread&tid=86442
淘汰人的从来是工具而不是年龄
嵌入式的冷知识屋 blog.csdn.net/k_o_carnivist
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-18 05:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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