OpenEdv-开源电子网

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

使用F1对的SPI从机,中断计数不正常

[复制链接]

19

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
481
金钱
481
注册时间
2016-6-2
在线时间
116 小时
发表于 2019-9-19 08:15:39 | 显示全部楼层 |阅读模式
10金钱
rt,我使用;两块F1,一块作为主机,一块作为从机,SPI时钟分频256,主机发送8个字节,主机NSS使用软件设置,从机NSS信号使用硬件NSS,并且作为外部上升沿中断使用。

在从机的SPI中断中进行计数,每个上升沿中断中判断计数值是不是8,并将计数值清零,但是我在运行了一段时间之后出现计数值不是8的情况,出现这种情况的时间不定。

其实需要的是主机通信正常,但是我接受的数据长度都不能保证,也就不能保证数据的正确,

请问有没有什么办法能保证进入SPI接受中断的次数一直准确,或者通信正常?

考虑过进行双向通信,我返回一个数据帧,通知主机通信的数据是否正常,如果没有办法的话,这种方式是否可行,对通信速度影响大不大?



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

使用道具 举报

19

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
481
金钱
481
注册时间
2016-6-2
在线时间
116 小时
 楼主| 发表于 2019-9-19 10:55:34 | 显示全部楼层
连接方式使用的是杜邦线,线长30cm,对通信有影响吗?
回复

使用道具 举报

6

主题

412

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2711
金钱
2711
注册时间
2019-8-14
在线时间
414 小时
发表于 2019-9-19 18:53:01 | 显示全部楼层
会的,太长有干扰
臭妹妹,冲冲冲
回复

使用道具 举报

19

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
481
金钱
481
注册时间
2016-6-2
在线时间
116 小时
 楼主| 发表于 2019-9-23 10:06:49 | 显示全部楼层
有没有人遇到过同样的问题啊?救救孩子吧!
回复

使用道具 举报

8

主题

185

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2019-7-15
在线时间
47 小时
发表于 2019-9-23 12:34:08 | 显示全部楼层
用示波器监控下SCL,CS,MISO,MOSI,
回复

使用道具 举报

8

主题

185

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2019-7-15
在线时间
47 小时
发表于 2019-9-23 12:36:37 | 显示全部楼层
另外你要理解主从通信的机理,同步通信要求主机先产生时钟信号,从机才有反应。
回复

使用道具 举报

8

主题

185

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2019-7-15
在线时间
47 小时
发表于 2019-9-23 12:41:54 | 显示全部楼层
顾影_ 发表于 2019-9-19 10:55
连接方式使用的是杜邦线,线长30cm,对通信有影响吗?

略微有点长,我一般都截到10CM左右。
回复

使用道具 举报

19

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
481
金钱
481
注册时间
2016-6-2
在线时间
116 小时
 楼主| 发表于 2019-9-23 15:36:17 | 显示全部楼层
五月爸爸 发表于 2019-9-23 12:41
略微有点长,我一般都截到10CM左右。

谢谢解答
杜邦线已经截短了,大概是10cm,可能是线的问题,30cm时DMA接受的数据都不正常,10CM时使用DMA到是能保证接受的数据正确。
结果使用DMA发送出去的数据老是错位,就没弄这个方案了

现在使用中断进行数据收发,并且对数据进行校验,实在是不能保证每次通信的数据都正常,不要求速度了,保证数据的可靠性

回复

使用道具 举报

8

主题

185

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2019-7-15
在线时间
47 小时
发表于 2019-10-31 11:07:26 | 显示全部楼层
顾影_ 发表于 2019-9-23 15:36
谢谢解答
杜邦线已经截短了,大概是10cm,可能是线的问题,30cm时DMA接受的数据都不正常,10CM时使用DMA ...

不应该啊,我现在429用SPI DMA一点问题都没有,目前没设计全双工,只是从机被动接收,速率在20MBbps,连续工作一天压力测试,显示结果是没有丢一包。
回复

使用道具 举报

0

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2019-9-20
在线时间
35 小时
发表于 2021-5-12 15:58:25 | 显示全部楼层
五月爸爸 发表于 2019-10-31 11:07
不应该啊,我现在429用SPI DMA一点问题都没有,目前没设计全双工,只是从机被动接收,速率在20MBbps,连 ...

您好,能发我一下f429做从机只接收的代码吗?我从机接收adc的信号,进不去中断,main函数里面轮询,查出的值不对
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-24 09:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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