OpenEdv-开源电子网

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

Linux设备驱动开发-SPI中断问题

[复制链接]

6

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2018-8-23
在线时间
12 小时
发表于 2021-7-26 11:42:14 | 显示全部楼层 |阅读模式
50金钱
大家好,请教大家一个问题。
之前看了原子哥的Linux驱动开发视频,收获很多,现在我自己手上有一个项目,是一个SPI接口的ADC设备通信问题。
我需要实现的是,将ADC设备发送数据准备好的信号作为SPI通信的中断信息,当有这个中断信息时,我才进行SPI通信。
我自己的想法是用一个GPIO作为中断,然后中断触发以后去处理SPI通信。
在原子哥的课程中断那一节有听到说SPI中断,不太了解是否Linux下的SPI控制器驱动已经有类似的功能,所以请教一下大家。
如果没有更合适的方法,我就用GPIO做中断了。

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

使用道具 举报

4

主题

831

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3601
金钱
3601
注册时间
2019-9-4
在线时间
841 小时
发表于 2021-7-26 11:49:29 | 显示全部楼层
回复

使用道具 举报

6

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2018-8-23
在线时间
12 小时
 楼主| 发表于 2021-7-26 12:04:28 | 显示全部楼层
回复

使用道具 举报

3

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
464
金钱
464
注册时间
2021-1-16
在线时间
49 小时
发表于 2021-7-27 08:39:03 | 显示全部楼层
SPI的中断是跟SPI通讯有关的,比如发送完成中断;
回复

使用道具 举报

3

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
464
金钱
464
注册时间
2021-1-16
在线时间
49 小时
发表于 2021-7-27 08:39:29 | 显示全部楼层
你要做触发操作,还是用GPIO做中断吧
回复

使用道具 举报

6

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2018-8-23
在线时间
12 小时
 楼主| 发表于 2021-7-27 13:55:18 | 显示全部楼层
jzhang123 发表于 2021-7-27 08:39
你要做触发操作,还是用GPIO做中断吧

感谢
回复

使用道具 举报

6

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2018-8-23
在线时间
12 小时
 楼主| 发表于 2021-8-11 20:11:19 | 显示全部楼层
jzhang123 发表于 2021-7-27 08:39
你要做触发操作,还是用GPIO做中断吧

想请教您一下,我实现了GPIO中断,但是SPI通信的函数只能放在中断下半部,但是可能因为我的中断信号太快,1s 4000次的一个频率,导致中断上下半部的次数不一样,我不知道该怎么解决这个问题,我的需求是要求我必须每次中断都得用SPI读到数据。
回复

使用道具 举报

0

主题

201

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2439
金钱
2439
注册时间
2019-12-5
在线时间
340 小时
发表于 2021-8-12 09:30:37 | 显示全部楼层
GAOSIY 发表于 2021-8-11 20:11
想请教您一下,我实现了GPIO中断,但是SPI通信的函数只能放在中断下半部,但是可能因为我的中断信号太快 ...

这不科学呀,难道是不断的产生中断的吗?
回复

使用道具 举报

6

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2018-8-23
在线时间
12 小时
 楼主| 发表于 2021-8-14 12:28:29 | 显示全部楼层
watsonxia 发表于 2021-8-12 09:30
这不科学呀,难道是不断的产生中断的吗?

是不断产生中断
回复

使用道具 举报

0

主题

201

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2439
金钱
2439
注册时间
2019-12-5
在线时间
340 小时
发表于 2021-8-16 09:51:40 | 显示全部楼层
GAOSIY 发表于 2021-8-14 12:28
是不断产生中断

1S 产生4000次中断。太快了,再说也没有必要吧。
回复

使用道具 举报

6

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2018-8-23
在线时间
12 小时
 楼主| 发表于 2021-8-18 23:03:42 | 显示全部楼层
watsonxia 发表于 2021-8-16 09:51
1S 产生4000次中断。太快了,再说也没有必要吧。

没办法,外设需要一次中断读一次信息,很痛苦
回复

使用道具 举报

6

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2018-8-23
在线时间
12 小时
 楼主| 发表于 2021-8-21 22:01:16 | 显示全部楼层
watsonxia 发表于 2021-8-16 09:51
1S 产生4000次中断。太快了,再说也没有必要吧。

需求就是这样,高速采样
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2024-3-5
在线时间
0 小时
发表于 2024-3-5 17:07:11 | 显示全部楼层
GAOSIY 发表于 2021-8-21 22:01
需求就是这样,高速采样

你好,解决了吗?我们也有个项目要跑1000次,还需要实时。想问问你的情况搞定没?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-5-29 19:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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