[国产单片机] 有人会一根串口线进行双向通讯吗?

[复制链接]
 楼主| haunghua 发表于 2019-8-14 14:33 | 显示全部楼层
lpzailushang 发表于 2019-8-14 09:42
这个是可行的,要求不高是可以用的

实现过吗?软件上怎么设计,接线上呢?
chuangyun123 发表于 2019-8-14 14:57 | 显示全部楼层
tianxj01 发表于 2019-8-14 19:26 | 显示全部楼层
haunghua 发表于 2019-8-14 14:31
软件上如何控制TX,RX呢,接线又是怎样接?

从你的需求来看,则其实还是需要2根线,一个GND 一个RX/TX 公用线。
如果仅仅是从线数量来看,则2根线的485,其传输距离、性能都远远好过你这个GND+RX/TX的2线模式。
从成本角度,而且设备距离不是太远,抗干扰要求不高,则这么用完全是可以的,硬件实施在收发一条线的时候,可以是单片机的收发线直接相连,其中最大的关键是,TX线输出必须是开漏,通过上拉来输出信号,至于收发怎么处理,在中断模式下,在自己发送时候,通过标记,直接忽视接受中断,不处理就可以了。
协议上,可以参考MODBUS协议,首先只能是一个主机,其余全部从机,而且只能是主机主动发起会话,从机才能在约定期间和主机进行应答,这样就可以有效避免总线竞争,考虑到协议编制简洁,在指令、数据不是非常复杂情况下,可以优先考虑定长串格式,方便接受函数归一化处理。
定长串格式必须包含有包头、地址、命令码、数据串、校验。由于定长,可以省去结束码,当然非定长则必须包含包头、地址、命令、数据长度、数据、校验、结束码。
为了提高通信的鲁棒性,则在协议的字符间隔等都有明确的定义,建立时间监控快速溢出重新同步,校验建议用CRC
masmin 发表于 2019-8-14 20:23 | 显示全部楼层
haunghua 发表于 2019-8-14 14:31
软件上如何控制TX,RX呢,接线又是怎样接?

这种通讯方式实际是时分复用,你发给令牌,告诉我你要发,我就等;我收到就回个令牌。这种通讯的时隙要求比较严,没有分离器件或现场总线做的。
xixi2017 发表于 2019-8-15 14:08 来自手机 | 显示全部楼层
evechacha 发表于 2019-8-15 17:00 | 显示全部楼层
搜一下单总线通信
冯小俊 发表于 2019-8-15 20:44 | 显示全部楼层
DS18B20温度传感器了解一下
kingTek 发表于 2019-8-16 07:24 来自手机 | 显示全部楼层
iic不就是单工双向么
talismen 发表于 2020-7-17 12:28 | 显示全部楼层
马甲的马甲 发表于 2019-8-13 21:10
可以用HT6221的数据波形用普通IO口模拟,早年做中央空调控制,MCU木有串口,就是这么干的。接受端口需要带 ...

这个电路可以接多个从机吗?接15个左右。
elife 发表于 2020-7-17 22:43 | 显示全部楼层
如果距离不远,只要单总线接一个上拉电阻,其他的TX,RX全部通过单独接一个二极管负极,总线接二极管正极来通讯。通讯协议可以采用一主多从,或者像CAN总线一样仲裁,或者像局域网一样冲突监听。很多方法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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