SPI接口问题

[复制链接]
11035|33
joyme 发表于 2013-8-7 13:44 | 显示全部楼层
配置为主机时:MOSI为输出,MISO为输入;配置为从机时:MOSI为输入,MISO为输出,所以A图解法是对的
 楼主| crazy2012 发表于 2013-8-17 14:02 | 显示全部楼层
NE5532 发表于 2013-2-24 22:56
不是网上所有东西都是正确的,判断的愿意我已经给你说了,要学会根据是否有道理来判断谁对谁错,要不然会 ...

受教了。
dqgcjude 发表于 2013-12-8 23:33 | 显示全部楼层
路过 A图正确
星辰yyt 发表于 2013-12-9 16:02 | 显示全部楼层
第一个问题:A图正确,MOSI就是主机输出从机接收的意思。
第二个问题:单片机与NRF24L01连接,单片机永远是主机,NRF24L01是从机,接收数据时,需要也是单片机主模式去读写NRF24L01相关的寄存器将其配置成接收模式接口即可。
第三个问题:从机想要发数据,也是需要主机提供时钟的,所以没有主机提供的时钟,从机是不能主动发送数据的。
wlgazxm 发表于 2014-4-3 09:59 | 显示全部楼层
NE5532 发表于 2013-2-24 16:44
前两个理解都是错的,SPI总线,谁发时钟谁就是主机,从机只能在时钟的驱动下工作。MOSI=MASTER OUTPUT SLAV ...

太好了,我也正在苦恼这个问题,看了你的回复现在解决了,谢谢了!
kmani 发表于 2014-4-5 23:17 | 显示全部楼层
两个常见芯片的datasheet里面分别是A图、B图接法。
这让我十分疑惑,到底该怎么搞。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
kmani 发表于 2014-4-5 23:27 | 显示全部楼层
本帖最后由 kmani 于 2014-4-6 00:22 编辑
NE5532 发表于 2013-2-24 16:44
前两个理解都是错的,SPI总线,谁发时钟谁就是主机,从机只能在时钟的驱动下工作。MOSI=MASTER OUTPUT SLAV ...

你好,版主。
我认为就楼主给的图上标的而言,B图是正确的。因为他那是两个单片机,而非一个单片机和一个从器件。

自己浅见:当是两个单片机的时候,需要交叉连接也就是图B,对应连接MISO~MOSI、MOSI~MISO。
                  当一个是单片机一个是从器件比如MS5611,对应连接 MISO~SDO、MOSI~SDI。

其实本质上还是交叉连接的只要因为引脚标的问题,比如MISO,是主器件输入,和他对应的必须是输出脚MOSI或者SDO。
不同情况下接法不一样,所以有的认为A正确,有的则实践过说B正确。
希望自己的理解是正确的,因为我在画电路图,要是错了,那就麻烦了

事情总是不是那么一帆风顺,我找到了跟自己看法相反的接线图,这下我更矛盾了....

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
yubsh 发表于 2014-4-6 14:24 | 显示全部楼层
ATMEL网站上TWI总线的**,详细讲了用法,还有例程。
wuzx-61 发表于 2014-4-6 15:04 | 显示全部楼层
做个实验调试一下就出来.
NE5532 发表于 2014-4-8 08:30 | 显示全部楼层
kmani 发表于 2014-4-5 23:27
你好,版主。
我认为就楼主给的图上标的而言,B图是正确的。因为他那是两个单片机,而非一个单片机和一个 ...

不用去纠结,直接看他的手册描述,哪个输出哪个输入就可以了。
fushaobing 发表于 2014-4-9 14:59 | 显示全部楼层
SPI通讯一定是Master,Slave方式。
在B图中,MOSI接MISO。Master Output 接Slave Output, 两边都是输出,怎么通信?
B图一定是错误的。

同意9楼。
“标明MOSI与MISO的一定是A图的接法
标明SO与SI的很可能是B图的接法
你参考的那篇**确实有问题”

也同意7楼。
“不是网上所有东西都是正确的,判断的愿意我已经给你说了,要学会根据是否有道理来判断谁对谁错,要不然会迷茫的。”
fushaobing 发表于 2014-4-9 15:46 | 显示全部楼层
第二个问题:
没用过NRF24L01,但是用过NRF24AP2。 它以SPI方式与单片机通信时,单片机必须配置为从机,不管你是用来做发射端还是接收端。NRF24AP2与单片机的连接除了SCLK,SIN,SOUT,还有两个握手信号线,分别是AP2输出到单片机和单片机输出到AP2。所以,无论是主机还是从机,都可以通过拉低握手信号线,主动发起数据通信。不是说只能由主机发起数据通信。主机只是在通信中提供同步的时钟信号。
对于NRF24L01应该设置为主机还是从机,你应该去看它的datasheet.

第三个问题: 上面已经说了。从机也可以发起数据通信。但是需要额外的握手信号。我发个图片给你参考一下。
fushaobing 发表于 2014-4-9 15:49 | 显示全部楼层
图片在这里。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
夙最 发表于 2016-1-18 14:44 | 显示全部楼层
学习了   我也很迷糊呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部