485通信是工业控制中很常用的一种通信方式,但是编写通信程序的时候需要在代码中手动控制接收和发送,如果接收和发送逻辑没处理好往往会造成通信故障,实现起来比较麻烦。那能不能让485通信是接收和发送数据可以自动切换,不用程序去控制。就像使用串口一样,直接读数据或者写数据就行,不用关心当前总线的状态。

网上查找资料后发现485的自动收发硬件电路有很多,通过外部搭建的模拟电路就可以实现接收和发送数据的自动切换,这种电路的器件参数和稳定性可靠性都要根据使用环境去测试,使用起来比较麻烦。查找资料后发现MAX13487E这个芯片自带了接收和发送自动切换功能。现在看一下这个芯片的使用方法。

先看看芯片介绍

内部结构如下

下来看看各个引脚的功能

通过引脚功能可以看到,2脚为低电平时为接收功能,2脚为高电平时为自动方向控制功能。3脚为高电平时为正常操作模式,3脚为低电平时为关断模式。将2脚和3脚都接高电平时,就能实现自动收发数据自动切换了。

应用电路如下

将2、3脚都接VCC,这样485通信时就可以像操作串口那样,直接去读数据或者写数据了,代码中就不用关心接收和发送引脚的电平了。

如果通信需要隔离的话,可以参考官方推荐的光耦隔离电路:

RXD和TXD直接接单片机串口的接收和发送端就行了。

这个芯片实现485通信时收发数据自动切换电路最简单,不用增加额外的器件,通信的稳定性和可靠性都有保证。

485通信自动收发数据实现相关推荐

  1. 485通信自动收发电路,历史上最详细的解释

    作者:瑞生,来源:科技老顽童 微信公众号:芯片之家(ID:chiphome-dy) 上边的485通信自动收发电路,实测波特率9600不会有问题,但是,波特率115200的话,曾经出现过问题. 我们先看 ...

  2. Android MCU之间的串口通信(收发数据)

    最近一个项目是android和MCU之间的串口指令数据通信,捣鼓了很久,也找了很多网上的资料.最后将实现的总结记录下来. 使用的是GitHub中的一个项目,下载地址:https://github.co ...

  3. 调试stc8a8k64d4单片机485通信总结

    一开始感觉很简单,没想到几经折腾,还好,最后基本找到原因,暂时先记录下来. 先说明一下:单片机型号stc8a8k64d,485串口使用UART3(P5.10,P5.1),485使用网上找的一种方案,自 ...

  4. 485通信实现自动收发功能

    在平时使用485通信时,好多人往往首选的就是MAX485芯片,如下图所示: 常规的方法就是使用RE和DE引脚通过程序来切换接收数据和发送数据,但是这样写起程序来比较麻烦,调试起来也比较费劲.为了方便的 ...

  5. dsp28335 sci中用fifo完成485收发通信_STM32学习笔记—CAN总线收发数据常见问题分析

    CAN,Controller Area Network(控制器局域网络),在汽车电子.工业控制领域的应用比较多,通常用于局域组网. 这是第9篇学习分享文章,<STM32学习笔记>之CAN总 ...

  6. QT5实现串口收发数据(上位机与下位机通信)

    最近帮老师做一个应用程序,通过上位机与下位机进行串口通信,最后实现实时绘图,通过几天努力,成功实现蓝牙串口通信. 参考博客1 注意:代码中一些与串口无关代码,可以忽略掉 一.QT5串口基础知识 1. ...

  7. can总线配置读入是什么意思_STM32学习笔记—CAN总线收发数据常见问题分析

    CAN,Controller Area Network(控制器局域网络),在汽车电子.工业控制领域的应用比较多,通常用于局域组网. 这是第9篇学习分享文章,<STM32学习笔记>之CAN总 ...

  8. 串口转RS485:自动收发串口转RS485设计注意事项

    自动收发串口转RS485设计注意事项 文章目录 自动收发串口转RS485设计注意事项 1. 传统的串口转RS485设计 2. 自动收发串口转RS485设计 3. 自动收发串口转RS485设计优缺点 1 ...

  9. 【genius_platform软件平台开发】第九十三讲:串口通信(485通信)

    485通信 1. 485通信 1.1 termios结构 1.2 头文件 1.3 函数讲解 1.3.1 tcgetattr 1.3.2 tcsetattr 1.4 示例工程 1.5 参考文献 1.5. ...

最新文章

  1. 避免CONVT_NO_NUMBER的Runtime Errors
  2. VTK:可视化之Cursor2D
  3. javascript获取当前时间
  4. js之 foreach, map, every, some
  5. #celery#周期性任务
  6. 四则运算题目生成程序(基于控制台)
  7. hadoop异常 java.io.IOException: Job status not available
  8. Android开发笔记(一百六十一)NFC近场通信
  9. JavaScript学习总结(二十)——Javascript非构造函数的继承
  10. proc文件系统、sysfs文件系统、kobject操作
  11. mysql官网下载详细教程图文
  12. 怎样复制秀米html码,来,今天学习秀米的“复制粘贴”快捷键~
  13. VS高版本兼容XP系统
  14. 2022年京东春节,如何批量设置延迟发货?
  15. live2d_Live2D解锁丨SR羁绊复刻,生日定制服装上架!
  16. word论文格式整理
  17. 一文读懂串口及各种电平信号含义
  18. 量子计算机当游戏服务器,为何需要量子计算机
  19. mongodb count查询记录条数
  20. php获取prepay_id时报错,微信支付获取prepay_id返回签名错误,官方demo中的签名方法MD5验证有问题...

热门文章

  1. (转)Clang 比 GCC 编译器好在哪里?
  2. 实验二 动态规划算法 最长公共子序列问题
  3. 微软破常规发LNK漏洞补丁 金山卫士完美修复
  4. 利用递归遍历文件夹和文件存入TreeView
  5. 使用Acronis Disk Director Suite调整分区大小
  6. Oracle定时调用存储过程
  7. 用IDEA开发一个简单的Spring MVC的Hello World程序,表单程序
  8. iOS开发--AVFoundation自定义相机
  9. 第十二章 非对称加密算法-RSA
  10. Linux磁盘分区详解(fdisk)