本发明涉及RS422串口技术,特别涉及消除RS422串口干扰的技术。

背景技术:

在日常项目开发及设计中,经常会遇到串口收发数据产生的干扰,造成串口无法正常工作,给产品可靠性造成严重的影响;造成串口干扰的常见干扰源有:自认串口发送数据线(TX+、TX-)引起的干扰,其他信号靠近串口接收(RX+、RX-)引起的干扰,匹配电阻不合适引起的谐振干扰等。

传统消除干扰的方法有:通过外加屏蔽线的方式隔离干扰信号、通过下拉电阻将干扰信号消除在地上或通过软件使能串口等方式解决串口干扰的方式。通过屏蔽的方式解决传输线上的串扰,但对于从电路板端就开始的串扰,通过屏蔽是无法完成或不能完全清楚干扰的。软件串口使能的方式会造成高输出频率时,串口禁能使能间隙造成串口发送数据丢失的问题。由于串口发数据时,数据是以电平变化指示数据,在电平变化时,产生的高低脉冲,通过空间或传输线辐射出去,造成接收传输线上感应出电平变化,回传到串口接收端,在电平足够大于高电平的门限时,串口接收寄存器中就会指示接收到数据,而没有对串口接收寄存器操作,就会造成串口接收寄存器装满,影响串口正常工作。当串口TX+和TX-上有数据产生的脉冲时,会串扰到RX+和RX-上,此时串口接收寄存器中就有干扰数据缓存在里面。

技术实现要素:

本发明的目的是提供一种消除RS422串口干扰的方法,解决串口收发数据时会产生的干扰,造成串口无法正常工作,给产品可靠性造成严重的影响的问题。

本发明解决其技术问题,采用的技术方案是:消除RS422串口干扰的方法,其特征在于,包括以下步骤:

步骤1、启动应用程序,将串口初始化;

步骤2、应用程序内部向串口发送端发送串口数据,串口发送端接收到串口数据后,根据串口协议将串口数据发送到发送寄存器中;

步骤3、当串口发送端向外发送所需串口数据时,串口接收端将接收到对应数据,串口接收端接收到对应数据后,将对应数据存储在接收寄存器中,并判断对应数据中是否包含干扰数据,若是则进入步骤4,否则不进行处理;

步骤4、全部读出接收寄存器中的所述干扰数据,清除干扰数据所占接收寄存器的空间。

具体地,步骤1中,所述将串口初始化过程包括串口配置、串口打开和串口使能,所述串口配置、串口打开和串口使能均只执行一次。

本发明的有益效果是,通过上述消除RS422串口干扰的方法,通过将存储在接收寄存器中的干扰数据清空,避免接收寄存器存满,从而无法响应串口发送寄存器的问题。

具体实施方式

下面结合实施例,详细描述本发明的技术方案。

本发明所述消除RS422串口干扰的方法,由以下步骤组成:

步骤1、启动应用程序,将串口初始化;

步骤2、应用程序内部向串口发送端发送串口数据,串口发送端接收到串口数据后,根据串口协议将串口数据发送到发送寄存器中;

步骤3、当串口发送端向外发送所需串口数据时,串口接收端将接收到对应数据,串口接收端接收到对应数据后,将对应数据存储在接收寄存器中,并判断对应数据中是否包含干扰数据,若是则进入步骤4,否则不进行处理;

步骤4、全部读出接收寄存器中的干扰数据,清除干扰数据所占接收寄存器的空间。

实施例

本发明实施例消除RS422串口干扰的方法,包括下步骤:

步骤1、启动应用程序,将串口初始化;

步骤2、应用程序内部向串口发送端发送串口数据,串口发送端接收到串口数据后,根据串口协议将串口数据发送到发送寄存器中;

步骤3、当串口发送端向外发送所需串口数据时,串口接收端将接收到对应数据,串口接收端接收到对应数据后,将对应数据存储在接收寄存器中,并判断对应数据中是否包含干扰数据,若是则进入步骤4,否则不进行处理;

步骤4、全部读出接收寄存器中的干扰数据,清除干扰数据所占接收寄存器的空间。

上述方法中,步骤1中,将串口初始化过程优选地包括串口配置、串口打开和串口使能,其中,串口配置、串口打开和串口使能均只执行一次。

串口干扰 linux复位,消除RS422串口干扰的方法与流程相关推荐

  1. dtech串口驱动 linux,dt 帝特串口的驱动程序 - 下载 - 搜珍网

    PC0098 PCI TO 串口卡2口(WCH)/ PC0098 PCI TO 串口卡2口(WCH)/DOS/ PC0098 PCI TO 串口卡2口(WCH)/DOS/CH35XDOS.EXE PC ...

  2. 嵌入式linux文件系统格式,嵌入式Linux的文件系统分区及数据读写方法与流程

    本发明涉及Linux系统的数据存储管理领域,特别是涉及一种基于NANDFlash存储器和UBIFS文件系统的嵌入式Linux的文件系统分区及数据读写方法. 背景技术: ::目前Linux操作系统由于源 ...

  3. linux内核下网络驱动流程,基于Linux内核驱动的网络带宽测速方法与流程

    本发明涉及一种测速方法,尤其是一种网络带宽测速方法. 背景技术: :电信运营商为客户提供一定带宽的Internet接入:为了检验带宽是否达标,一般均由客户使用个人电脑在网页上直接测速.但是随着智能网关 ...

  4. pci-e串口卡linux 驱动下载,pci串口卡万能驱动

    万能PCI串口卡驱动程序,支持绝大多数的串口卡.支持WINDOWS/LINUX系统.支持98/me/2000/xp/vista/server系统. 运行PCISETUP.EXE安装程序,选择卡的类型, ...

  5. moxa串口卡Linux驱动,MOXA CP-168U串口卡

    CP-168U V2是经济型通用PCI串口通讯卡,特别为POS和ATM应用.工业自动化系统制造商及系统整合商所设计. CP-168U V2和许多主要的操作系统皆兼容,每个RS-232串口支持的速率较高 ...

  6. stm32串口传输数据第一个数据被吞_stm32串口发送数据复位 第一个数据丢失

    http://blog.csdn.net/kevinhg/article/details/40991655 STM32串口发送必须先检测状态,否则第一个字节无法发出,发送完毕,必须检测发送状态是否完成 ...

  7. Linux裸机开发|UART串口通信

    UART串口通信 不管是单片机开发还是嵌入式Linux开发,串口都是最常用到的外设.可以通过串口将开发板与电脑相连,然后在电脑上通过串口调试助手来调试程序.还有很多模块,比如蓝牙.GPS.GPRS等都 ...

  8. Linux uart寄存器读写,Linux下读写UART串口的代码

    Linux下读写UART串口的代码,从IBM Developer network上拿来的东西,操作比較的复杂,就直接跳过了,好在代码能用,记录一下- 两个实用的函数- /** *@brief 设置串口 ...

  9. linux与开发板串口通信

    研究了一天的linux串口,结果改了树莓派的系统配置文件config.txt给改了导致系统崩溃....其实我感觉网上的大多数方法都是不符合新版本树莓派的,网上的方法是通过修改系统配置文件后安装mini ...

最新文章

  1. PyTorch代码调试利器: 自动print每行代码的Tensor信息
  2. linux ssh 提示 too many authentication failures for root root的身份验证失败太多 解决办法
  3. JAVA基础——Switch条件语句
  4. 简述3032路pcm帧的结构_高级数据链路控制协议-HDLC
  5. 简单的多目标遗传算法实现
  6. JBox2D和JavaFX:事件与力量
  7. DeFi 衍生品平台 Deri Protocol 新增三家投资者
  8. ASP.NET页面传值之Server.Transfer
  9. 免费批量修改图片MD5软件 图片处理防和谐软件
  10. 如何将超大文件传输给别人,超大文件如何传输
  11. win11改win10重装系统教程图解
  12. 认识并行、并发、多线程
  13. 网页微信公众平台登录电脑版
  14. Android仿keep运动轨迹动画,仿keep思路
  15. 模仿QQ背景为视频的登录页
  16. C4D 克隆 学习笔记
  17. python 生孩子朋友圈_宝宝出生怎么发朋友圈 生宝宝朋友圈报喜的句子
  18. 超市账单管理系统项目学习总结
  19. LQ0215 绳圈【DP】
  20. matlab wc wp,MATLAB_IIR_带通通滤波

热门文章

  1. PGM 格式图像数据操作
  2. 重新创作:我的公众号简介
  3. DIV+CSS+JS分类显示
  4. WordPress替换前端字体插件
  5. 打开虚拟机时出现不能为虚拟电脑打开一个新任务
  6. 怎样恢复回收站中已被删除的文件
  7. SVN的学习(SVN的简单说明、SVN的安装与配置、SVN与GIT的区别)
  8. SARscape数据处理SAR数据笔记——DINSAR微小形变提取
  9. linux刻录win10u盘_使用UltraISO在Windows 10下刻录Ubuntu 18.04.2 U盘的方法
  10. python中的__dict__,__getattr__,__setattr__