[求助] SPI串口发送和中断问题

李嘉辉   2016-8-8 13:42 楼主
用两块单片机验证SPI的通讯,一个单片机发送,另一个单片机接收,这种情况下没有任何问题 能实现该功能
我现在就是想让一个单片机A发送另一个单片机B接收   当B接收到数据时把数据再发送给单片机A,在写调程序的时候只要把发送中断使能打开程序就会跑飞,接收不到。如果把发送中断关闭就能正常接收,这是什么原因???

回复评论 (9)

2推荐 yang_alex 

SPI数据发送和接收是同步进行的,是个环形的数据链路。如果全部使能中断,发送和接收会同时产生,所以中断使能需要处理一下。
点赞  2016-8-8 14:21
跑飞?跑到哪儿去了?
点赞  2016-8-8 14:33
引用: yang_alex 发表于 2016-8-8 14:21
SPI数据发送和接收是同步进行的,是个环形的数据链路。如果全部使能中断,发送和接收会同时产生,所以中断 ...

正是这个原因   我感觉主机在发的时候从机也进入发了
也就是说  主机默认先进发送中断再进接收中断,而此时从机也是先进了发送中断再进的接收中断  所以导致主机的发送数据和从机的接收数据不一致了    可是这个问题在中断里面怎么处理让从机先进接收中断再进发送中断呢?
点赞  2016-8-8 15:39
引用: lcofjp 发表于 2016-8-8 14:33
跑飞?跑到哪儿去了?

是这个原因:主机默认先进发送中断再进接收中断,而此时从机也是先进了发送中断再进的接收中断  所以导致主机的发送数据和从机的接收数据不一致了   从机程序一直在发送中断里面出不来了。 不知道这个问题怎么解决,能不能在中断里面让从机先进接收中断再进发送中断呢?
点赞  2016-8-8 15:41
引用: lcofjp 发表于 2016-8-8 14:33
跑飞?跑到哪儿去了?

谢谢  这位大哥  我的这个问题解决了   刚开始学习,还有很多不会的需要向大哥请教
点赞  2016-8-8 17:05
引用: yang_alex 发表于 2016-8-8 14:21
SPI数据发送和接收是同步进行的,是个环形的数据链路。如果全部使能中断,发送和接收会同时产生,所以中断 ...

谢谢你,我的问题解决了   我是初学者还有很多问题  向你请教
点赞  2016-8-8 17:07
引用: 李嘉辉 发表于 2016-8-8 17:07
谢谢你,我的问题解决了   我是初学者还有很多问题  向你请教

不用客气,新手可以理解。接触的多了就好了。
点赞  2016-8-8 18:33
引用: yang_alex 发表于 2016-8-8 18:33
不用客气,新手可以理解。接触的多了就好了。

SPI中一个主机多个从机通讯  选准某个从机是在主机中设置吗?我现在用三块单片机 一个主机两个从机来做通讯,我选中的是其中一个从机 另一个从机没有选中但是两个都能和主机通讯  并且这两个从机还是同步的,我感觉两个从机都是在用三线制通讯  没有达到片选的效果。不知道怎么片选啊   求解!!
点赞  2016-8-9 17:04
SPI中一个主机多个从机通讯,主机要有多个片选控制引脚,对应各从机的片选端。主机要和哪个从机通讯,就使能哪个从机的片选端。你要给出你的电路图,大家才好帮你分析。
点赞  2016-8-10 12:20
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复