导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请教单片机之间的串口通讯方案[rj17]

 *第15013篇: 请教单片机之间的串口通讯方案

  
楼 主:rj17 2003年7月30日08:40
 请教单片机之间的串口通讯方案
本人现在要求三块cpu之间通讯,其中一台主机,另两台作为从机分别与主机通讯。但是由于串行口已经被占用,只能通过通用i/o口来实现通讯。但是具体如何实现还没什么头绪。
这里先请教各位做过类似东东的大虾,这样通讯的话是否一定要采用同步通讯,同步时钟由主机提供?是否我保留3个i/o口即可通过软件实现(如果用iic协议2根线即可?),可否提供一点建议或资料,多谢了!
  
2楼:wugang 2003年7月30日08:55
 1。可以用485方式,一台带多台;2。用io脚,试想你的波特率要多少,除非用pwm;
  
3楼:rj17 2003年7月30日09:28
 1、485方式用通用I/O也能实现吗?2、你的意思是io脚不方便?
那我可不可以用软件实现同步通讯?
  
4楼:wugang 2003年7月30日08:56
 建议用485方式
  
5楼:红心J 2003年7月30日08:57
 保留两个i/o模拟串口通讯,最好其中一个
保留两个i/o模拟串口通讯,最好其中一个i/o是外部中断口,便于模拟串行接收。
  
6楼:yangjl 2003年8月1日19:27
 红心JDX,用一个外表中断口,怎么模拟串行接收,程序怎么写?
  
7楼:红心J 2003年7月30日09:01
 如果采用485方式,即半双工方式,需另外
如果采用485方式,即半双工方式,需另外增加一个i/o用作控制
  
8楼:rj17 2003年7月30日09:24
 ??不太明白,我现在只有I/O可以用,也能采用485方式吗?
  
9楼:红心J 2003年7月30日10:01
 当然可以
当然可以
  
10楼:rj17 2003年7月30日10:15
 这样的话波特率是不是靠定时器来实现?
  
11楼:红心J 2003年7月30日11:55
 软件延时
软件延时
  
12楼:wugang 2003年7月30日09:29
 我没用过io
  
13楼:wugang 2003年7月30日09:33
 我没用过io脚模拟串口,但原理上可以,但
我没用过io脚模拟串口,但原理上可以,但波特率不会高,用两线即可,最好将接收用中断脚处理,否则只能用查询方式了。
也可以考虑用扩展io的方法。
  
14楼:rgh111 2003年7月30日11:14
 I/O口模拟串行口的不足
I/O口模拟串行口的不足:
1、正如上面这位老兄所说,波特率不会太高,因为太高了误差较大。
2、这种应用绝对不要用在级联转发,因为它的误差是有积累的。
3、我的例子:
我用PIC16C711做了一个485信号转发器类似东东,当采用级联的方式进行工作时,在进行了一个星期10万次的测试中,级联成功的比例的80%。
如果用这种设置与具有标准串口的设置相连进行测试,同样的测试周期和数据量,成功的比例是99.999%。从中可见其局限性。


供参考吧,有做得更好的可以与我交流。

  
15楼:rj17 2003年7月30日10:17
 谢谢指教,继续研究!
  
16楼:幽游梦蝶 2003年7月31日08:32
 我用IO口模拟做过
我当时是自己定的协议,也不知道什么IIC,SPI之类,现在想来和SPI差不多,就是用两根IO线,一根CLK,一根DATA,但为了有中断的效果,补占用一些时间,最好把CLK接到一个外部中断上
  
17楼:rj17 2003年7月31日08:39
 你的CLK是主机通过软件延时还是定时器实
你的CLK是主机通过软件延时还是定时器实现的啊?
把CLK接到从机的外部中断后,如果同时还有其他的中断,会不会响应不过来啊?
  
18楼:幽游梦蝶 2003年7月31日08:48
 外部中断的优先级是非常高的,你查看一下就知道,你还可以把它设为高有限级
  
19楼:lichuanfa 2003年7月31日09:46
 扩展串口
扩展串口
  
20楼:华山挑夫 2003年7月31日17:03
 Re:标题:请教单片机之间的串口通讯方案[建议]
用i/o口来实现要另外多占用cpu时间,建议采用多串口的片子



>>>>>>对该主题发表你的看法

本主题贴数28,分页: [第1页] [第2页]


[上一篇主题]:单片机来作短信收发

[下一篇主题]:请问6963有没有分页的功能?