单片机模拟一线制串口

[复制链接]
3706|6
 楼主| brightv 发表于 2010-10-2 09:45 | 显示全部楼层 |阅读模式
现在用单片机的一个IO口模拟收发,通过IO口发送数据能成功,在另一端用嵌入式设备也是用IO口模拟收发,在嵌入式设备收到单片机发过来的数据后,回命令给单片机,这时单片机一根线要转为收,进行接收,然后接收成功后,在转为发,进行发送。现在单片机发送数据成功后,怎么用一根线接收数据,时序怎么控制呀,转为收的过程是?
请高手帮忙呀
   为STC系列单片机
NE5532 发表于 2010-10-2 10:09 | 显示全部楼层
什么叫嵌入式设备,就是单片机嘛,不要自己吓自己。这种协议多半只有自己写,MAXIM有现成的1-w协议可以参考,不过可能还没有你自己弄的简单可靠。另外如果加跟线没那么困难的话,就加一根吧,就是个串口,就多简单了。
zjswuyunbo 发表于 2010-10-2 18:07 | 显示全部楼层
这不是把整个Cpu都独占了吗?用个中断口可以不用cpu一直查询,
 楼主| brightv 发表于 2010-10-2 18:08 | 显示全部楼层
我的用是STC系列的单片机,是哪种方法转收呢
sangyuang 发表于 2010-10-2 20:35 | 显示全部楼层
任何单片机都可以模拟串口,道理都一样。
mmax 发表于 2010-10-2 22:47 | 显示全部楼层
建议用主从结构;
给所有设备编址。

只有主站可以主动发读写命令,从站只可以答复。
主站加上超时判断。

这样,一根线上的读写状态就不会冲突。

参见Modbus协议。
teddeng 发表于 2010-10-3 17:16 | 显示全部楼层
1线串口分两种情况,一种是约定一端是主机,一端是从机的就很简单,从机一直是等待状态,等待接收主机;主机则是主动发,发完转接收;从机收到主机数据后转发送就是(具体协议略过,也简单)。
还有一种是无主从的,任何一端都可以发起通信,这个最好结合具体情况来定了,有点麻烦。
具体什么情况,不用两根线呢,这么为难自己。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

11

帖子

1

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