多机通讯,(非51单片机)难点分析,待解决->初步解决

近来打算转多机通信但是发现了一些当前水平不可解决的问题,留作以后深入I2C、RS485才可解决了。

好不容易用现有的while 循环 if条件判断 flag变量设置的低级方法勉强在逻辑上可以行的通了,但是遇到多个从机的TXD连在一起之后无法发送数据了。

有限的硬件知识,使用PIC的单片机,只有推挽输出的模式,使得当前实在没有行之有效的方法去解决,另外关于主机模块和从机模块的编写颇有点小孩子过家家的意味在里面,幼稚,缺少架构模块化的思想。并且如果用RS485实际中也会遇到各种各样的问题,大致可能如下,现在也看不太懂:

https://wenku.baidu.com/view/f7a17226f46527d3240ce0a4.html

随便截了部分图如下:(以后和现在看来都有点不堪入目)

只是单纯调用函数这样子,所以此帖只能留作后续更新用了!

 

2019.02.17

荒废了大概半个月左右的时间,从昨天开始,重新再战。

第一改变了原有的各种flag变量控制,发现一些进程可以在子函数里调用,重点是

函数调用里可以用while(1)这种死循环,然后某个条件成立,再return,就可以节省很多不必要的flag变量。

第二再proteus用rs487模拟出来,虽然似乎自动转换TXD RXD的电路仿真不行,我到手的rs485模块是可以的,但是无妨,

在加入方向位DE、RE的控制下,今天居然能够实现初步的效果,具体还有很多亟待完善,至少让我感到了希望。

截图如下,没仔细理过,后续看时间、精力放动图。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值