发新帖我要提问
12
返回列表
打印
[国产单片机]

有人会一根串口线进行双向通讯吗?

[复制链接]
楼主: haunghua
手机看帖
扫描二维码
随时随地手机跟帖
21
haunghua|  楼主 | 2019-8-14 14:33 | 只看该作者 回帖奖励 |倒序浏览
lpzailushang 发表于 2019-8-14 09:42
这个是可行的,要求不高是可以用的

实现过吗?软件上怎么设计,接线上呢?

使用特权

评论回复
22
chuangyun123| | 2019-8-14 14:57 | 只看该作者

使用特权

评论回复
23
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

使用特权

评论回复
24
masmin| | 2019-8-14 20:23 | 只看该作者
haunghua 发表于 2019-8-14 14:31
软件上如何控制TX,RX呢,接线又是怎样接?

这种通讯方式实际是时分复用,你发给令牌,告诉我你要发,我就等;我收到就回个令牌。这种通讯的时隙要求比较严,没有分离器件或现场总线做的。

使用特权

评论回复
25
xixi2017| | 2019-8-15 14:08 | 只看该作者

使用特权

评论回复
26
evechacha| | 2019-8-15 17:00 | 只看该作者
搜一下单总线通信

使用特权

评论回复
27
冯小俊| | 2019-8-15 20:44 | 只看该作者
DS18B20温度传感器了解一下

使用特权

评论回复
28
kingTek| | 2019-8-16 07:24 | 只看该作者
iic不就是单工双向么

使用特权

评论回复
29
talismen| | 2020-7-17 12:28 | 只看该作者
马甲的马甲 发表于 2019-8-13 21:10
可以用HT6221的数据波形用普通IO口模拟,早年做中央空调控制,MCU木有串口,就是这么干的。接受端口需要带 ...

这个电路可以接多个从机吗?接15个左右。

使用特权

评论回复
30
elife| | 2020-7-17 22:43 | 只看该作者
如果距离不远,只要单总线接一个上拉电阻,其他的TX,RX全部通过单独接一个二极管负极,总线接二极管正极来通讯。通讯协议可以采用一主多从,或者像CAN总线一样仲裁,或者像局域网一样冲突监听。很多方法。

使用特权

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

本版积分规则