打印

关于单片机通讯

[复制链接]
1255|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xsgy123|  楼主 | 2012-9-17 17:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我有一个arm板要和单片机通讯,只有四个口相连着,单片机作为从机。arm扳作为主机,要互相发送数据。我的想法如下,大家有什么好建议没有,谢谢P1.4 为单片机的中断口
P1.5 为单片机的输入
P1.6 为单片机的输出
P1.7 为单片机的输入
(由于arm和单片机有光藕隔离,故输入和输出线不能转换)

通讯规则: 单片机程序有20种工作状态,需要P1.5和P1.7进行选择(由arm主机发送命令),由于只有两个输入口,所以必须输入4次,才能判断
工作状态,2*2*2*2=32;
所以就是每次变化工作状态的时候,必须arm板给单片机中断(P1.4)四次,每中断一次单片机判断P1.5和P1.7的值,所以四次中断才能
最终判断工作状态。

单片机需要向外部传送数据的时候,是由arm提出请求(就是上面所说的工作状态之一),将P1.5口作为时钟线,p1.5给一个时钟,单片机
从P1.6输出一位数据。但是我现在时钟是这么使用
while(0==p1.5);
while(1==p1.5);
p1.6=数据;

相关帖子

沙发
baidudz| | 2012-9-17 18:14 | 只看该作者
不用这么复杂吧,一根中断线(片选),一个数据出,一个数据入,一个时钟线
典型SPI通信就够了啊

使用特权

评论回复
板凳
summerlover| | 2012-9-17 22:13 | 只看该作者
楼上正解,楼主你想的多了

使用特权

评论回复
地板
秋天落叶| | 2012-9-17 22:57 | 只看该作者
这种通讯方式SPI比较合适 不用搞两条输入线

使用特权

评论回复
5
dfsa| | 2012-9-17 23:01 | 只看该作者
光耦隔离的话,SPI的通信速率受限制的。只能几十K的通信速率。还不如用串口通信呢。

使用特权

评论回复
6
sinadz| | 2012-9-18 17:56 | 只看该作者
LZ把问题弄复杂了

使用特权

评论回复
7
yybj| | 2012-9-18 18:08 | 只看该作者
用SPI比较合适

使用特权

评论回复
8
秋天落叶| | 2012-9-18 18:14 | 只看该作者
建议用SPI通信

使用特权

评论回复
9
无冕之王| | 2012-9-18 18:23 | 只看该作者
简单问题弄复杂了

使用特权

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

本版积分规则

229

主题

2603

帖子

1

粉丝