OpenEdv-开源电子网

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

STM32作为SPI的主器件,RF模块作为从器件时,STM32可以用SPI中断的方式接收读取RF模块的数据吗?

[复制链接]

4

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2012-8-18
在线时间
11 小时
发表于 2015-12-4 15:57:01 | 显示全部楼层 |阅读模式
5金钱
接触STM32不是太久,想自己DIY一个在家自用的视频防盗传输作品,方案如附件图所示,在调试SPI时遇到了不解的问题,哪一位大神指点,万分感激;

1、STM32作为SPI的主器件,RF模块作为从器件时,STM32可以用SPI中断的方式接收读取RF模块的数据吗?一般是怎么触发STM32的SPI中断去读取RF模块的数据的啊?

2、STM32的SPI中断在接收数据的过程中会打断主循环吗?也就是说SPI中断在接收数据的过程中,main()函数中的主循环还可以做其他工作的吗?



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

使用道具 举报

2

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
245
金钱
245
注册时间
2015-7-28
在线时间
85 小时
发表于 2015-12-4 18:56:46 | 显示全部楼层
1)可以利用中断的方式去接收数据,进入中断后,再接收数据
2)既然是中断,肯定会将当前任务打断。单片机是单核的,只有一个CPU,同一时刻只能处理一件事情。
拙见,不知对不对
回复

使用道具 举报

4

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2012-8-18
在线时间
11 小时
 楼主| 发表于 2015-12-7 11:02:51 | 显示全部楼层
回复【2楼】[content]:
---------------------------------
我一直都这么认为,但我一个搞FPGA的朋友非得说中断不会打断主循环,搞的我还以为STM32有什么特备之处
因为STM32是作为主设备,而RF模块又不会主动发数据,如果用中断接收的话,怎么触发中断的呢
回复

使用道具 举报

2

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
245
金钱
245
注册时间
2015-7-28
在线时间
85 小时
发表于 2015-12-7 11:41:18 | 显示全部楼层
回复【3楼】12345678:
---------------------------------
 RF24L01有一个IRQ引脚,低电平有效。对这个引脚做相应配置,当接收到数据时,会触发中断,然后在中断中读数就可以
回复

使用道具 举报

4

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2012-8-18
在线时间
11 小时
 楼主| 发表于 2015-12-8 09:29:41 | 显示全部楼层
回复【4楼】[content]:
---------------------------------
哦哦,没用过RF24L01 ,我用A7130, 正在试,不行的话就换过其他模块
回复

使用道具 举报

3

主题

8

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2015-4-14
在线时间
1 小时
发表于 2015-12-8 14:44:55 | 显示全部楼层
nrf24l01一般都是用查询方式,在if中查询IRQ引脚电平,如果为低,表示成功接收数据,随即进行读取。
当然,也可用任意一条外部中断线,接到IRQ,在终端服务函数中读取数据。
程序从main开始执行,当产生终端后,程序跳到终端服务函数执行,结束后返回main继续执行。main中的功能不受影响,但是会被随时打断,如果有不允许打断的语句,应在这段语句的前面关总中断,语句后面开总中断。
回复

使用道具 举报

4

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2012-8-18
在线时间
11 小时
 楼主| 发表于 2015-12-9 19:27:58 | 显示全部楼层
回复【6楼】a51374975:
---------------------------------
嗯嗯,这个明白,我先试试A7130,因为STM32是作为主设备,而RF-A7130模块又不会主动发数据,如果STM32用中断读取RF-A7130里面的数据的话,现在还不知道STM32怎么触发中断,从而进行接收RF-A7130里面的函数,困扰
回复

使用道具 举报

4

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2012-8-18
在线时间
11 小时
 楼主| 发表于 2016-3-11 16:14:36 | 显示全部楼层
a51374975 发表于 2015-12-8 14:44
nrf24l01一般都是用查询方式,在if中查询IRQ引脚电平,如果为低,表示成功接收数据,随即进行读取。
当然, ...

我用的是A7130 ,没有中断反馈管脚
回复

使用道具 举报

4

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2012-8-18
在线时间
11 小时
 楼主| 发表于 2016-3-11 16:15:05 | 显示全部楼层
[content] 发表于 2015-12-7 11:41
回复【3楼】12345678:
---------------------------------
 RF24L01有一个IRQ引脚,低电平有效。对这 ...

谢谢,我用的是A7130,没有中断反馈管脚
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 09:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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