打印

名路神圣指教下,SPI双机通信问题。

[复制链接]
2849|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mochou|  楼主 | 2010-6-30 12:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在做的项目需要LPC2136与Mega8相互通信,我采用的是SPI协议,LPC2136先发命令,Mega8执行并返回给LPC2136检测到的数据,两者都是在中断中接收数据。现在LPC2136能够发送数据,Mega8不能接收数据,感觉到Mega8的SPI好像就没有工作。

     请问LPC2136和Mega8怎么设置才能够正常接收和发送数据?当LPC2136给Mega8发数据时我把LPC2136设为主机,Mega8设为从机,当Mega8给LPC2136回传数据时是不是应把Mega8设为主机LPC2136设为从机,主从机要相互切换下吗?麻烦各位大侠指导下啊。小弟在此感激不尽。

相关帖子

沙发
maychang| | 2010-6-30 13:31 | 只看该作者
“主从机要相互切换下吗?”
不必吧?

使用特权

评论回复
板凳
btiger2000| | 2010-6-30 14:10 | 只看该作者
不必,spi的时钟始终由主机产生

使用特权

评论回复
地板
mochou|  楼主 | 2010-6-30 17:12 | 只看该作者
麻烦magchang大叔给个肯定的回答,好吗?

使用特权

评论回复
5
maychang| | 2010-6-30 18:11 | 只看该作者
4楼:
SPI分主从。一次数据传输只能由主机发起,主机发送数据到从机的同时,从机也将要给主机的数据传输到主机。

使用特权

评论回复
6
chunyang| | 2010-6-30 18:13 | 只看该作者
不必做主从切换,通讯发起者为主机,应答者为从机就可以了,从机SPI没有工作说明你的程序编制有问题,器件手册要仔细阅读理解。

使用特权

评论回复
7
mochou|  楼主 | 2010-6-30 20:06 | 只看该作者
谢谢3楼,5楼,6楼。.现在可以通信了.mega8中断中能够接收到数据,但主机(LPC2136)的SPI中断接收到的数据是它自己发送的数据(中断读SPDR的值),不知道是什么原因,明天上班了再研究了。

使用特权

评论回复
8
ecomputer| | 2010-6-30 22:15 | 只看该作者
spi本来就是双向的,一主一从就可以了,参数没配置正确

使用特权

评论回复
9
mochou|  楼主 | 2010-6-30 22:30 | 只看该作者
也谢谢8楼,小弟明天上班了在捣鼓捣鼓。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

58

主题

1422

帖子

8

粉丝