【RS-485收发切换】使用RS-485要注意的一个问题
单片机]RS-485半双工延时问题 http://www.chinafix.com.cn/thread-137012-1-1.html
RS485半双工切换为什么要加延时(非尾字不能发的问题)?
http://bbs.21ic.com/icview-317805-1-1.html
使用RS-485要注意的一个问题
为了让主机可以比较“从容”地切换到接收状态,从机接收到报文后不应该马上回答,而要至少等待双方约定的一个时间(比如2-5ms),这其实也应当是RS-485通信的一个参数。
使用全双工RS-422就没有这个问题。
有一些RS232到RS485的接口转换器需要用RTS信号来控制发送和接收状态切换,由于PC机很难像单片机那样精确地判断最后一位从移位寄存器发出去了(单片机对有的UART可以用中断,或者笨笨地定时+查询标志等方法),所以经常发生下位机收不好最后一个字节或者上位机收不好第一各字节的情况。有人采取上位机正常报文后面加无用字符(比如0xFF)的办法来凑合。
虽然现在有RS232到RS485的收发自动切换的转接器,但它内部其实是用单稳态触发器来实现的,为了适应不同波特率,切换仍然有一个延迟,波特率较高的时候下位机回答太快仍然有可能第一个字节出错。
所说的20ms只是一个举例,根据波特率等情况当然可以适当改变。但是,正规的RS485规约应该要规定这个帧间空闲间隔的(比如IEC870-5规定是33bit)。
实际通信的实时性主要由轮询的间隔以及超时的处理来决定,附加几毫秒的延时并不很重要。实际使用RS485通信最常遇到倒就是收发切换的问题,要想解决好,一是上位机从发到收的切换要尽量快(尽可能使用UART硬件自动控制RTS、发送完成中断或者精确定时),二是下位机要略位“宽容”一点。
RS485半双工切换为什么要加延时(非尾字不能发的问题)? [复制链接] 未结帖(20)
lzwujucong 当前离线
lzwujucong
实习生
实习生, 积分 6, 距离下一级还需 44 积分
专家等级: 结帖率:0% |
电梯直达
1# lzwujucong 发表于 2012-3-19 18:47:30 | 只看该作者 | 倒序浏览 | 返回版面 0
相关帖子
|
|
模块电源《常见故障分析》免费下载!——广州金升阳科技有限公司 在线观看泰克最新测试设备介绍 玩转C2000,抽取数码相机赢大奖!
|
||
分享0 收藏0 举报 |
||
sxiaoguang 当前离线
sxiaoguang
初级技术员
初级技术员, 积分 890, 距离下一级还需 -790 积分
专家等级: 结帖率:0% |
2#
sxiaoguang 发表于 2012-3-19 20:39:26 | 只看该作者 | 返回版面
|
|
举报 |
||
lzwujucong 当前离线
lzwujucong
实习生
实习生, 积分 6, 距离下一级还需 44 积分
专家等级: 结帖率:0% |
3#
lzwujucong 发表于 2012-3-20 13:41:26 | 只看该作者 | 返回版面
|
|
举报 |
||
sjnh 当前离线
sjnh
初级工程师
初级工程师, 积分 2351, 距离下一级还需 649 积分
专家等级: 结帖率:100% |
4#
sjnh 发表于 2012-3-21 13:23:47 | 只看该作者 | 返回版面
|
|
举报 |
||
chunyang 当前离线
chunyang
超级版主
专家等级: 结帖率:98% |
5#
chunyang 发表于 2012-3-21 23:13:53 | 只看该作者 | 返回版面
|
|
二姨家最好的广告位招租啦
有技术问题请在论坛里发帖,站内信、QQ、邮件等仅供业务或私人用途使用,不对技术问题单独解答。 欢迎访问 春阳频道 |
||
举报 |
||
sjnh 当前离线
sjnh
初级工程师
初级工程师, 积分 2351, 距离下一级还需 649 积分
专家等级: 结帖率:100% |
6#
sjnh 发表于 2012-3-22 09:07:24 | 只看该作者 | 返回版面
|
|
举报 |
||
jeaper 当前离线
jeaper
资深技术员
资深技术员, 积分 338, 距离下一级还需 162 积分
专家等级: 结帖率:100% |
7#
jeaper 发表于 2012-3-30 13:03:35 | 只看该作者 | 返回版面
|
【RS-485收发切换】使用RS-485要注意的一个问题相关推荐
- RS485 硬件自收发切换的实现
RS485抗噪音抗干扰能力强.传输距离远.支持多点通信,是工控行业首选串行接口.485规定的电气特性为2线,半双工多点通信.采用两线差分信号传输数据,具有抗共模干扰的能力.由于是半双工模式,因此通讯时 ...
- 海思3559 485收发
根据原理图,控制485状态的是GPIO12_2管脚 查找Hi3559AV100_PINOUT_CN.xlxs文档,发现这个管脚功能是复用的, 需将其功能设为GPIO12_2 首先编译himm 调用hi ...
- 485通讯的校验和_232/485转CAN 智能协议转换器
▼更多精彩推荐,请关注我们▼ 一.产品概述 SG_CAN_Modbus是一款用于CAN-Bus现场总线与RS-232总线或RS-485总线之间数据转换的协议型转换器,支持标准Modbus RTU协议 ...
- 串口232,485转以太网模块 串口232,485转以太网模块 TCP/IP 串口协议转换模块
串口232,485转以太网模块 串口232,485转以太网模块 TCP/IP 串口协议转换模块 ...
- CC1101魔幻的收发切换机制
调试了好几天的CC1101收发切换,终于成功,记录一下. 切记,一切都要靠自己,其他人都不可靠,包括你看完我这篇博客,也还是要自己好好研究实验.(给技术支持打电话,人家只管硬件问题,软件自己搞~~没招 ...
- 本篇文章使用vue结合element-ui开发tab切换vue的不同组件,每一个tab切换的都是一个新的组件。
本篇文章使用vue结合element-ui开发tab切换vue的不同组件,每一个tab切换的都是一个新的组件. 1.vue如何使用element-ui 上一篇文章已经分享了如何在vue中使用eleme ...
- dsp28335 sci中用fifo完成485收发通信_STM32学习笔记—CAN总线收发数据常见问题分析
CAN,Controller Area Network(控制器局域网络),在汽车电子.工业控制领域的应用比较多,通常用于局域组网. 这是第9篇学习分享文章,<STM32学习笔记>之CAN总 ...
- 【RS码1】系统RS码编码原理及MATLAB实现(不使用MATLAB库函数)
关注公号[逆向通信猿]更精彩!!! 基础知识 要想搞懂本节知识,需要先熟悉掌握以下前几篇博客 [多元域乘法]多项式乘法电路原理及MATLAB详解 [多元域除法]多项式除法电路原理及MATLAB详解 R ...
- c语言485通讯源程序,51单片机485通信实验C语言源代码实现
#include #include sbit RS485=P3^7; //定义485的使能脚 bit SendFlag; unsigned int ReData,SenData; /******* ...
最新文章
- 【干货】大数据和人工智能.pdf
- 写给第十七届,来自十六届的感想与建议
- php 怎么获取meta标签,php – 通过jQuery获取META描述
- require js define 函数
- C# Win32 API 应用
- 2022版全球及中国电梯行业投资建议与盈利价值分析报告
- cookie和session原理
- 微软100题第20题
- java指定存入arraylist值_Java高效打印出0000-9999之间所有的值存到arraylist集合中
- 汇编proto、proc、invoke伪指令与函数声明、函数定义、函数调用
- 博弈论分析题_博弈论习题及参考答案
- asterisk 服务器文档,用 Asterisk 搭建自己的免费 VoIP 服务器
- C#chart控件初始化
- 删除控制面板java无效图标_win7系统删除控制面板中无效的图标的操作方法
- 基于QT开发的线性代数初学者的矩阵计算器设计
- 无源微波器件--耦合线定向耦合器
- BUG处理:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path buil
- PS图片转3D(PS与AE交互)
- Linux (redhat)封装虚拟机镜像
- Android Fragment 实现状态栏透明(沉浸式)