1. 环境:PC使用通用串口助手,开发板使用串口调试程序

现象:使用开发板测试串口程序,发现串口可以收到数据,却不是开发板发出来的数据。收到的数据和PC自身发出的数据一样。

解决方法:先程序单步调试,发现PC的发送数据无法正常触发中断,由此判断出,PC发出的数据无法正常到达开发板触发中断,且发现PC可以收到和自身发出数据一样的数据,所以检查硬件,发现PC的TX与RX互联,并没有正确接到开发板的TX与RX,更改接线,排除故障后,程序可以正常工作。


2.  环境:重装系统后,以前可以正常使用的串口程序无法使用

现象:插入串口助手有提示,缺少驱动无法正常使用,打开设备管理器显示设备上有黄色感叹号,且串口助手上无法选择对应的串口使用。

解决方法:设备显示黄色感叹号,正常情况下是由于没有正确安装串口的驱动程序,或者驱动程序没有正确安装,一般安装后即可正常使用不需要重启。不排除串口助手硬件损坏的情况,如果串口助手损坏,建议更换好的串口助手在进行测试。


3. 环境:PC使用开发软件使用RS485信号,中间层做信号转发RS485转TTL信号,底层TTL信号接受做实际功能实现。

现象:PC发送数据在底层无法正常工作。

解决方法:


4. 环境:PC使用开发软件使用RS485信号,中间层做信号转发RS485转TTL信号,底层TTL信号接受做实际功能实现。

现象:PC发送数据在底层无法正常工作。

解决方法:


以后遇到串口问题的解决思路

1. 确认信号类型,是TTL,RS485,RS232,不同数据类型的信号无法正常通信。

2. 确认串口的软件设置,波特率串口号等信号格式。

3. 确认已经正确安装驱动。

4. 确认硬件接线是否正确,对应的信号接口接到相应的接口,针对TTL和485,不确定信号定义的时候可以尝试俩根线相互调换。

5. 确认设备正常供电。

6. 使用示波器或者其他调试工具检查通信波形是否正确,5V系统和3.3V系统需要在对应的信号线上加上上拉电阻和二极管。

7. 确认硬件无问题的情况下,查找软件问题。

软件问题与硬件问题的大致区分方法:

硬件问题每次都能复现,软件问题可能时有时无。(个人经验)

使用串口过程中遇到的问题总结相关推荐

  1. MCGS触摸屏在运行过程中设置Modbus通讯地址及串口参数的方法

    MCGS触摸屏在运行过程中设置Modbus通讯地址及串口参数的方法 一.准备工作 二.操作步骤 测试验证 一.准备工作 昆仑通态官方提供的原版Modbus驱动不支持在程序运行过程中动态修改Modbus ...

  2. IIC通信控制的AD5259------在调试过程中遇到的奇葩问题

    首先说一下的遇到的问题: 1.AD5259按照SCL是100KHz的情况下,可以正常接收上位机的数据,但是一段时间后,就不能正确的按照时序来走了 原因在于AD5259在接收到上位机的数据后需要一定的响 ...

  3. STM8学习笔记---串口通信中如何自己定义通信协议

    在单片机刚开始学习的时候,串口通信是经常要用到的,但是实际产品中串口通信是需要通信协议的.好多人不明白为什么要用通信协议,如何定义通信协议,带通信协议的程序要怎么写.今天就来说一下如何串口通信协议是如 ...

  4. MSComm控件过程中内存溢出和GetOneDimSize出错的问题

    MSComm控件过程中内存溢出和GetOneDimSize出错的问题 现在做的一个项目需要实现上位机和单片机的串口通信,为了方便,使用了MSComm控 件,但写程序时在处理接收数据遇到了问题,程序可以 ...

  5. STM32运行过程中降低系统时钟频率

    目录 1. 概述 2. 直接修改外部时钟 2.1 生成时钟函数 2.1.1 设置系统时钟为16M: 2.1.2 配置时钟72M: 2.2 测试降频 3. 借助内部时钟 3.1 生成时钟函数 3.2 测 ...

  6. Arduino中Serial.print()与Serial.write()函数的区别,以及串口通信中十六进制与字符串的收发格式问题和转换过程详解

    1.串口通信中十六进制和字符数据的区别 串口收发数据时字符.十六进制.二进制格式详细区分 ASCII码查询表格 在使用串口发送数据时可以选择字符串(ASCII)发送或者十六进制(Hex)发送,通常情况 ...

  7. Win10+Ubuntu16.04双系统安装过程中遇到的一些问题及解决办法

    前两天闲来无聊重装了系统,装的是win10 64的系统,后来心血来潮索性再装Ubuntu,搞成win10+Ubuntu双系统. win10系统的镜像文件可以通过MSDN网站获取,MSDN是一个很可靠的 ...

  8. 简单平衡小车制作过程中遇到的问题

    本人最近做了一个平衡小车,过程中遇到不少问题,在这里总结一下,可能也会帮助到大家 文章目录 前言 一.嫖资料,找教程 二.小车结构 三.电子元件的组装 四.写程序时(改嫖到的程序)遇到的问题 总结 前 ...

  9. 串口通信中一些常用的小工具

    文章目录 1.逻辑分析仪下的串口数据 2.数字转字符串函数 3.字符串转整数 4.字符串转浮点数 5.测试转换方法 6.空闲中断DMA接收不定长数据 7.高频数据收发测试 本文总结下串口通信的一些小技 ...

最新文章

  1. 【 FPGA 】FIR 滤波器结构和优化(一)之滤波器的对称性(Filter Symmetry)
  2. python3 字符串、十六进制字符串、数字、字节之间的转换
  3. python变量类型-【干货】Python基础语法之变量类型
  4. 残疾科学家_数据科学与残疾:通过创新加强护理
  5. java ognl表达式_java -------ognl表达式入门
  6. 区块链到底是什么?和普通人有什么关系?
  7. Windows环境bugfree搭建
  8. 【目标定位】基于matlab粒子滤波目标定位仿真【含Matlab源码 129期】
  9. win10电脑系统里的视频不显示缩略图
  10. 012Java虚拟机005垃圾的回收
  11. linux下安装redis报Mmmm... it seems like you don‘t have a redis executable. Did you run make install yet?
  12. 数码相册的实现(手势切换图片,用链表加快效率,jpeg解码)
  13. 赛码网刷题记录acmcoder
  14. RAD Studio XE (DelphiXE)官网下载地址与注册
  15. 脉冲宽度调制PWM的原理及应用
  16. python基础===【字符串】所有相关操作
  17. 易票联C#加密的方法
  18. 读文件时,将str数据转换为float 报错ValueError: could not convert string to float: ‘.‘
  19. apt-get install 与 pkg-config
  20. 大于在python中怎么打出来_在python中,如何检查输入不是空的并且是大于零的数字...

热门文章

  1. Foundations of Machine Learning 2nd——第三章(一)拉德马赫复杂度
  2. 前端程序员的浪漫动态告白表白女友源码
  3. html计时器重置,使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)...
  4. linux是优秀程序员吗,如何理解Linus Torvalds“什么才是优秀程序员”
  5. Qt for android 出现‘KHR/khrplatform.h‘ file not found
  6. Failed to execute goal on project qingcheng_web_manager: Could not resolve dependencies for project
  7. lisp代码编写地物符号_工程图中标注序号的LISP程序
  8. 关于ChatGPT八个技术问题的猜想
  9. 通过ROS控制真实机械臂(2)----单轴运动,手柄控制
  10. 阿伏法机器人_深圳自动捷克钻不良QC机器人操作