历史上的今天
今天是:2024年12月31日(星期二)
2021年12月31日 | 485通信自动收发数据实现
2021-12-31 来源:eefocus
485通信是工业控制中很常用的一种通信方式,但是编写通信程序的时候需要在代码中手动控制接收和发送,如果接收和发送逻辑没处理好往往会造成通信故障,实现起来比较麻烦。那能不能让485通信是接收和发送数据可以自动切换,不用程序去控制。就像使用串口一样,直接读数据或者写数据就行,不用关心当前总线的状态。
网上查找资料后发现485的自动收发硬件电路有很多,通过外部搭建的模拟电路就可以实现接收和发送数据的自动切换,这种电路的器件参数和稳定性可靠性都要根据使用环境去测试,使用起来比较麻烦。查找资料后发现MAX13487E这个芯片自带了接收和发送自动切换功能。现在看一下这个芯片的使用方法。
先看看芯片介绍

内部结构如下

下来看看各个引脚的功能

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

将2、3脚都接VCC,这样485通信时就可以像操作串口那样,直接去读数据或者写数据了,代码中就不用关心接收和发送引脚的电平了。
如果通信需要隔离的话,可以参考官方推荐的光耦隔离电路:

RXD和TXD直接接单片机串口的接收和发送端就行了。
这个芯片实现485通信时收发数据自动切换电路最简单,不用增加额外的器件,通信的稳定性和可靠性都有保证。
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 03:17 编辑 有那位高人能提供智能循迹小车驱动电路的pcb呀 核心板芯片是pc9s12xs128的 电机驱动电路的芯片是33886的 或是其他的芯片耶可以 还有能否提供光电探测板的电路图和pcb 在这 ...… 查看全部问答> |
|
Microsoft Communication Controls Version 6.0 不支持此接口 RT. 我用vc6.0新建了个对话框的工程,添加MSComm控件时,出现了上面的提示,无法插入该控件。 这个该如何解决?… 查看全部问答> |
|
sql ce2.0用rda连接sql server,出现问题,在线等 请教一个问题,我用rda连接sql server ,但出现以下错误: 未处理的“System.Data.SqlServerCe.SqlCeException”类型的异常出现在 System.Data.SqlServerCe.dll 中。 我是C# 2003、sql server 2000、Pda是win mobile 5.0 我的代码如下: string ...… 查看全部问答> |
|
因为平时使用CAN总线很多,所以这次专门找时间,试用了一下lm3s8962的CAN功能,附件就是我简单试用时,使用的程序。(接收指定ID的CAN数据,并通过串口输出)程序中还有不明之处,望指点!! 例程中对CAN报文对象设置时: // CAN接收报文对象设置tC ...… 查看全部问答> |
|
LED具有低功耗、寿命长、环保等鲜明的特点,在从小尺寸背光应用领域向大尺寸面板背光进行渗透之后,现在进一步向通用照明应用领域扩张,目前已经在景观、建筑、商业、汽车、移动照明等领域快速发展。 面对LED照明的众多应用领域,由于市场并没 ...… 查看全部问答> |
|
实现功能:我用串口接收PC端一串数据 然后在把数组中的数据发送给串口 传到PC 遇到问题:串口接收正常 但是发送每次只能发送一两个数据 环境 :串口5 中断接收 请大家帮忙分析下原因 谢谢! ...… 查看全部问答> |
|
有与之前的帖子很久没更新,不能去更新了。现在只能重新发帖了。。以前的贴地址:https://bbs.eeworld.com.cn/thread-297778-1-1.html 这块板子很适合做嵌入式的。最近在用最快板子搞控制,和通信类的。现在传上简单的LCD12864的实验结果及程序吧 ...… 查看全部问答> |
|
一、主程序: #include \"DSP28_Device.h\" float ADResult; unsigned int k=0; float adclo; interrupt void ADC_ISR(void); void main(void) {   ...… 查看全部问答> |




