0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

总结来了!串口通信常见问题及解决方法

亿佰特物联网应用专家 2022-11-21 10:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

什么是串口通信

串口,一般指异步串行接口(Serial Port),主要用于串行式逐位数据传输。串口对于处于嵌入式行业的我们来说,是必不可缺的一部分,在刚开始学习单片机时,我们最先学习的通信接口就是USART(Universal Synchronous/Asynchronous Receiver/Transmitter)——通用同/异步串行接收/发送器。其中最常见的串口通信的时序如下图:00945c68-672d-11ed-b116-dac502259ad0.png有起始位、数据位、校验位、停止位、波特率等几个通信参数。

232 / 485/ 422通信

串口通信主要可分为232、485、422三种通信方式。

232通信

232通信主要是由RX、TX、GND三根线组成。RX接TX,TX接RX,GND接GND。发送和接收由不同的线路处理,所以能够同时进行发送和接收数据,因此232是全双工通信

485通信

为了解决232通信距离受限问题,于是有了485通信。
485通信只需要+、-两根线(也叫A、B两根线),A、B两根线的差分电平信号就是作为数据信号传输。发送和接收都用这两根线,每次只能发送数据或者接收数据,因此485是半双工通信

422通信

422通信兼具232与485的特点,既能实现全双工通信,又能增大传输距离。422也常被标注为485-4,而485被标注为485-2。因为485-2是2根线,485-4是4根线,下图是422的示意图。00a56846-672d-11ed-b116-dac502259ad0.png422将232的RX分成RX+和RX-,把TX分成TX+和TX-,实现同时发送和接收。
最常用的还是232和485通信。00b79994-672d-11ed-b116-dac502259ad0.png

串口通信常见问题及解决

串口作为工程师日常开发时的非常重要的一个角色,也时常会碰到很多问题,深受各种折磨,接下来笔者就来说说平时串口通信中常见的问题以及解决方法。通常我们调试串口通信碰到问题时,需要用到一个USB转TTL、杜邦线(导线)等工具,首先我们应当保证自己的工具是正常的,可以通过以下方法自测:
1、将USB转TTL中的TX、RX使用杜邦线或是跳线帽短接。打开串口调试工具,例如XCOM、SSCOM等,将波特率、停止位、校验位等参数调至即将需要通信的模块的参数,再去随意发送一些数据,通常笔者是更倾向于使用16进制发送和接收,以此来保证数据中间或者结尾出现一些不可使用ASCII值直观看到的数据,例如数据的结尾多了0x00,0x0a等。若确保自己的工具以及导线没有问题后,即可继续排查通信问题。

2、发现使用USB转TTL与模块之间明明已经反接了TX、RX,发指令给模块之后却没有任何反应。解决方法:当碰到如上问题时,应当首先自检工具,再检查是否双方共地,GND提供了一个基准0电平,如果没有共地的话,那极有可能会出问题,其次是检查双方的串口参数是否一致,串口通信是一个易于开发并且速度可调的一个的通信协议,其中我们大部分都会使用UART——通用异步传输接收/发送器,串口异步通信也可称为起止式异步通信,是直接以字符为单位进行传输的,字符之间没有固定的时间要求,每个字符中的每一位以固定的时间传送。这就意味着,如果你使用一个较为高的波特率的速度去与一个较为低的波特率的速度去通信的话,那极大可能会导致低波特率设备无法读取到通信时的空闲信号的跳变信息。在这里笔者用一个比较极端例子进行说明:当双方串口的参数的数据位都为8bit,停止位为1bit,校验位为0bit时,但是A设备的波特率为9600,B设备为921600,就会出现以下情况:当B设备向A设备发送一个字节的数据时,B设备从发送到结束所需用的时间为1/921600*(8+1+1)=10.8us,而相同的A设备发送/接收一个字节的时间为(8+1+1)/9600=1.04ms,试问,像这种相差数倍的时间,当高波特率发送给低波特率设备时,很有可能低波特率设备压根就不会认为发送过来的数据流是一串数据,因为压根没法解析到。00cb1992-672d-11ed-b116-dac502259ad0.gif

*收发波特率一致

00da3a3a-672d-11ed-b116-dac502259ad0.gif*收发波特率不一致
因此串口通信一定要保证双方波特率、停止位等参数一致。反之,低波率向高波特率发送数据就会被认为是错误的数据,也就是所谓的乱码。3、发现双方已经使用了相同的参数进行通信,但是通信依旧有问题,例如收到乱码等。解决方法:首先应该降低波特率,先确保模块与USB转TLL均无问题,也要确保模块没有处于透传等特殊情况下,也可以使用逻辑分析仪等工具进行排查,现在的很多逻辑分析仪是自带数据分析的,可以由此来确保模块正常。其实大部分碰到这种问题的时候,更建议优先查看USB转TLL是否支持当前的工作模式。

其他问题:

电脑使用USB转串口可以和设备通信,为何换成屏就无法与设备通信?
电脑使用USB转串口连接设备,可能使用的是标准串口功能(除RX,TX,GDN外,还使用了其它引脚);检查接线方法是否正确;电脑与控制器PLC通信时,扫描波特率参数,是自适应,屏通信可能参数没有设备好。另外,还需注意,有时可能会使用一些串口助手发送测试数据与控制器通信,有些串口助手的奇偶校验会不起作用。
一个设备是232,另一个设备是422,没有转换设备,怎么办?232和422都是全双工通信,422以一种差分信号传输。可以将422的Rx+与232的TX对接,422的RX-与232的GND对接;将422的TX+与232的RX对接,422的TX-与232的GDN对接。422设备发送数据时可以发送到232的RX上;232的TX发送数据后,由于TX和GND也形成了差分信号给到422,422就可以接收到数据。能否实现两个主站通过485访问ModBus设备?485通信基本上是一主多从,现阶段还不能实现两个主站访问一个ModBus设备。换屏后无法再跟设备通信,怎么解决?首先需要确认接线是否正确,RX和TX是否兼容;其次检查是否有接地线;除了RX,TX,GND,是否还有其它引脚需要短接;查看通信协议、波特率是否相同。

以上就是笔者总结的串口通信常见问题及解决方法,文中如有出错之处,望指正,希望大家共同进步!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信
    +关注

    关注

    18

    文章

    6488

    浏览量

    140350
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深度解析:组态 PROFIBUS DP 网络的常见错误与解决方法

    本篇文章中,我们将深度解析组态PROFIBUS DP网络的常见配置错误以及解决方法
    的头像 发表于 05-13 11:02 230次阅读
    深度解析:组态 PROFIBUS DP 网络的<b class='flag-5'>常见</b>错误与<b class='flag-5'>解决方法</b>

    关于ST系列MCU使用STlink仿真烧录常见问题

    关于ST系列MCU使用STlink仿真烧录常见问题
    的头像 发表于 04-14 17:16 639次阅读
    关于ST系列MCU使用STlink仿真烧录<b class='flag-5'>常见问题</b>

    软启动的常见问题

    “软启动”这个概念在工程领域很常见,但具体指代的对象不同,问题表现和解决方法也完全不同。通常来说,它主要指电机软启动器,但也可能指电源软启动电路。
    的头像 发表于 04-05 17:15 1477次阅读
    软启动的<b class='flag-5'>常见问题</b>

    车载无线充电不充电咋回事?异物与遮挡排查指南

    车载无线充电常见问题及排查指南,涵盖线圈对齐、壳体干扰和面板污染,提供实用解决方法
    的头像 发表于 03-20 08:23 1101次阅读
    车载无线充电不充电咋回事?异物与遮挡排查指南

    伺服系统调试经验分享及常见问题分析与解决方法

    伺服系统调试是工业自动化领域中的一项关键技术,其性能直接影响到设备的精度、速度和稳定性。通过多年的实践与总结,我积累了一些伺服调试的心得体会,现分享如下,希望能对同行有所帮助。
    的头像 发表于 03-12 16:52 637次阅读

    风机气密性检测仪的常见问题解决方法-岳信仪器

    在风机生产与检测环节,气密性检测仪是保障产品质量的核心设备,但长期运行中难免出现各类问题。以下是风机气密性检测仪的五大常见故障及对应解决方法,帮助快速恢复设备运行。压力不稳测试过程中压力波动大,多由
    的头像 发表于 03-12 16:18 233次阅读
    风机气密性检测仪的<b class='flag-5'>常见问题</b>及<b class='flag-5'>解决方法</b>-岳信仪器

    ODF配线架常见故障及解决方法

    ODF配线架常见故障及解决方法如下: 一、接地故障 故障表现: 防雷性能下降,静电积累,甚至引发设备损坏。 光信号传输不稳定,出现误码或中断。 常见原因: 接地端子氧化、松动或接触不良。 接地线
    的头像 发表于 01-05 10:43 761次阅读

    Keithley吉时利6511常见故障排查及解决方法

    Keithley吉时利6511作为一款精密测量仪器,在长期使用中可能会遇到各种故障。以下是该设备常见故障的排查思路及解决方法,帮助用户快速定位问题并恢复设备正常运行。     一、常见故障及排查步骤
    的头像 发表于 11-21 18:47 1436次阅读
    Keithley吉时利6511<b class='flag-5'>常见</b>故障排查及<b class='flag-5'>解决方法</b>

    晶振使用中常见问题解决方法

    一、频偏造成的使用异常异常现象:色彩图像不正常;音频杂音,无数据传输,距离短,遥控无反应。常见处理:换一个就OK根本原因:晶振负载电容同电路不匹配。解决办法:调整电路匹配电容大小,或换用不同负载电容
    的头像 发表于 11-21 15:37 4391次阅读
    晶振使用中<b class='flag-5'>常见问题</b>与<b class='flag-5'>解决方法</b>

    大华电源程控常见问题解决方法

    在电源负载这类测试测量仪器的使用过程中,常常会涉及到上位机程控,以实现自动化测试的目的。 在仪器和上位机的通讯过程中,有些工程师会发现电源和电脑无法建立通讯的情况,在此我们给出一些简单的排查方法
    的头像 发表于 10-13 15:19 710次阅读

    【排障帖】分享串口通信常见问题自查流程

    摘要 串口通信,是一种常见的数据传输方式,它通过数据信号线、地线等组件,实现外设与计算机,或外设与外设之间的数据传输。这种通信方式的核心特点在于其稳定性与经济性。 在
    发表于 09-10 11:45

    半导体制造防震基座安装RC 铣孔常见问题解决方法-江苏泊苏系统集成有限公司

    在半导体制造防震基座安装的 RC 铣孔操作中,即使严格遵循操作规程,仍可能因材料特性、设备状态或环境变化出现各类问题。以下是常见问题的成因分析及针对性解决方法,确保铣孔质量符合高精度
    的头像 发表于 08-21 15:53 1127次阅读
    半导体制造防震基座安装RC 铣孔<b class='flag-5'>常见问题</b>及<b class='flag-5'>解决方法</b>-江苏泊苏系统集成有限公司

    ZYNQ UltraScalePlus RFSOC QSPI Flash固化常见问题说明

    璞致 ZYNQ UltraScalePlus RFSOC QSPI Flash 固化常见问题说明
    发表于 08-08 15:49 0次下载

    PCBA代工避坑指南:常见问题+解决方案全解析

    一站式PCBA加工厂家今天为大家讲讲PCBA代工代购元器件常见问题有哪些?PCBA代工代购元器件常见问题及解决方案。随着科技的不断发展和市场需求的变化,越来越多的企业选择通过外包方式进行PCBA生产
    的头像 发表于 07-09 09:38 1079次阅读

    电机常见的噪音、振动问题及解决方法

    ,甚至引发安全隐患。本文将系统分析电机常见的噪音和振动问题,并提供切实可行的解决方法。   一、电机噪音问题及解决方法 电机噪音主要来源于电磁噪音、机械噪音和空气动力噪音三个方面。 1. 电磁噪音 电磁噪音是由于电机内部
    的头像 发表于 06-08 10:25 4696次阅读