RS232串口硬件调试

视频链接(1~4)

RS232串口硬件调试01---串口理论及报文格式_哔哩哔哩_bilibili

RS232串口硬件调试02---示波器抓取串口波形_哔哩哔哩_bilibili

RS232串口硬件调试03---串口波形解析_哔哩哔哩_bilibili

RS232串口硬件调试04---串口bug如何解决_哔哩哔哩_bilibili

RS232串口硬件调试

原理参考第4课:RS232接口硬件电路设计

原理参考第73课:console接口硬件电路设计

1、RS232串口理论

UART(通用异步收发传输)是一种通信协议,而RS232(串行通信接口)是一种物理接口标准。UART是一种用于在计算机和外部设备之间传输数据的协议,而RS232是一种用于在计算机和外部设备之间建立物理连接的标准接口。

UART可以使用RS232接口进行通信,但UART也可以使用其他物理接口标准,如RS485。

2、RS232串口调试一般存在的问题

1、串口没打印

2、串口有打印---乱码 or 打印到一半卡死

3、串口调试软件及串口报文格式

3.1、串口调试软件(Uart Assist)

(数据位)

(校验位)

(停止位)

3.2、串口波特率

串口通信的速率用波特率表示,它表示每秒传输二进制数据的位数,单位是bps(位/秒),常用的波特率有9600、19200、38400、115200等。

uart中的波特率就可以认为是比特率,即每秒传输的位数(bit)。波特率就是串口每秒钟可以发送多少bit。115200也就是说一秒钟可以发送115200bit,每个bit持续的时间

1/115200= 8.68μs

3.3、串口报文格式

UART在发送或接收过程中的一帧数据由3或者4部分组成。

起始位(1bit)+ 数据位(5~8bit)+ 奇偶校验位(1bit)+ 停止位(1~2bit)

异步串行通信数据格式图

3.3.1、起始位

起始位标志着一帧数据的开始,由一个逻辑0(低电平)的数据位表示,起始位1 位;

在发送有效数据前,无需配置,会自动产生1bit 逻辑“0”的低电平的起始位,表示串口数据传输开始,之后开始发送有效数据。

3.3.2、数据位

数据位是一帧数据中的有效数据(数据位可选择为5、6、7、8位,传输多个值为0或者1的bit位

3.3.3、校验位

校验位用于检验数据在传输过程中是否出错。奇偶校验位,因为在通信过程中易受到外部干扰而导致数据出现偏差,所以在有效数据之后增加了校验位来解决这个问题,校验方式需要配置,校验方式有奇校验、偶校验、0校验和1校验。

无校验(NONE):数据包不包含校验位;

奇校验(ODD):保证数据位+校验位的“1”为奇数;

如果字符数据位中“1”的数目是偶数,校验位为“1”; (举例1010 1010 1

如果字符数据位中“1”的数目是奇数,校验位为“0”。 (举例1010 1011 0

偶校验 (EVEN):保证数据位+校验位的“1”为偶数;

如果字符数据位中“1”的数目是偶数,则校验位为“0”;(举例1010 1010 0

如果字符数据位中“1”的数目是奇数,则校验位为“1”。(举例1010 1011 1

mark parity:校验位始终为1

space parity:校验位始终为0

3.3.4、停止位

停止位是一帧数据结束的标志,可以是1bit、1.5bit或者2bit。

3.3.5、空闲位

串口TX或RX数据线上没有传输任何数据时,则该线处于为空闲状态。

空闲位不算是串口报文内的数据, 它是发送完一组报文后,总线会自动将电平拉高,产生1bit 逻辑“1”的空闲位。空闲是TX和RX都是处于高电平。

3.3.6、LSB & MSB

LSB(Least Significant Bit)意为最低有效位;

MSB(Most Significant Bit)意为最高有效位。

4、示波器测试串口波形操作步骤(★)

S1:示波器设置

  1. 通道设置:打开通道CH1;

2、耦合设置:直流耦合;

3、水平时基和电压调节(实际测量时还需要手动调节)

横轴:水平时基调到ms级;

1μs  2μs  5μs  10μs  20μs   50μs  100μs  200μs  500μs

1ms   2ms   5 ms  10 ms  20 ms   50 ms  100 ms  200 ms  500 ms

1s    2s    5s    10s    20s     50s    100s    200s

纵轴:1V左右;

10mV    20 mV     50 mV    100 mV     200 mV   500 mV  

1V   2V    5V    10V    20V   50V

4、触发设置:下降沿触发;单次触发模式;

S2:探头放测试点处,鳄鱼夹接板子GND

S3:板卡上电

S4:串口调试助手发送数据

S5:读取波形图

5、示波器抓取串口波形实战(8位数据位、1位停止位、无校验位)

5.1、例1:发送数据“0x55”

5.1.1、总图(0 1010 1010 1)

数据分类

起始位

数据位

停止位

电平

0

1010 1010

1

0101   0101   对应的是55

5.2、例2:发送数据“0x3A”

5.2.1、总图

8.68*9=78.12μs

5.2.2、分解图1 (0 0)

5.2.3、分解图2(0 0101)

5.2.4、分解图3(0 0101 1110)

5.2.5、分解图4(0 0101 1100 1)

数据分类

起始位

数据位

停止位

电平

0

0101 1100

1

0011 1010   对应的是 3A

6、串口出现问题如何解决?(★)//参考上方B站视频链接

7、UM3232电压测量(VCC 3.3V供电)

8、进制转换器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/431792.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Cookie和session 及Web相关工具

一 Cookie (一)介绍 Cookie 又称为"小甜饼”。类型为"小型文本文件”,指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。由网景公司的前雇员…

C++ 创建链表并输出

目录 代码实现 输出结果 代码实现 #include <stdio.h> #include <stdlib.h> //#include <cstdio> //#include <vector> #include<iostream> #include<cstdlib> using namespace std;//定义一个结构体 ListNode的结构 struct ListNode…

保姆教程 Docker 部署微服务项目

大家好&#xff0c;我是奇兵。 文章比较长&#xff0c;请耐心看完&#xff01; 项目上线是每位学编程同学必须掌握的基本技能。之前我已经给大家分享过很多种上线单体项目的方法了&#xff0c;今天再出一期微服务项目的部署教程&#xff0c;用一种最简单的方法&#xff0c;带…

linux无法启动dhcp服务--Failed to start DHCPv4 Server Daemon.错误

linux dhcp服务搭建详细过程请看 linux系统dhcp服务部署 关于dhcp服务无法启动Failed to start DHCPv4 Server Daemon.错误 解决方法&#xff1a;虚拟网络编辑器中的也就是dhcp所要服务的子网ip地址要与dhcp.conf中的服务网段ip一致&#xff08;与上面subnet 192.168.1.0一致…

记录前端面试的一些笔试题(持续更新......)

文章目录 js相关数组去重数组对象去重 实现数组unshift数组扁平化tree型数据扁平化list数据转tree型数据 对象深拷贝防抖/节流函数柯里化函数管道 随便记录一些&#xff0c;面试或者工作中都会用到&#xff0c;实现的方法很多&#xff0c;这里只是一小部分&#xff0c;有更好的…

鸿蒙Harmony应用开发—ArkTS声明式开发(鼠标事件)

在鼠标的单个动作触发多个事件时&#xff0c;事件的顺序是固定的&#xff0c;鼠标事件默认透传。 说明&#xff1a; 从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。目前仅支持通过外接鼠标触发。 onHover onHover(event: …

BUUCTF-Misc-粽子的来历1

题目链接&#xff1a;BUUCTF在线评测 (buuoj.cn) 下载附件给了四个doc文件 用HXD打开看看 将乱码全部改成yy打开 保存后打开&#xff1a; 发现每行的字间距不相同&#xff0c;把大间距设为1小间距设为0试试 100100100001&#xff0c;flag为md5加密的值 最后得到flag{d473ee3d…

【Java JVM】对象回收判断

Java 对象回收判断是程序设计中至关重要的一环。在面向对象的编程中, 合理的对象回收策略直接影响着程序的性能和内存利用效率。 因此, 深入了解和准确判断 Java 对象的回收时机, 不仅可以优化程序的运行性能, 还能有效避免内存泄漏和资源浪费。 本文将简单的分析一下 JVM 中对…

【Java EE 】认识文件与Java文件操作

目录 &#x1f340;认识文件&#x1f338;树型结构组织 和 目录&#x1f338;文件路径&#xff08;Path&#xff09;&#x1f338;其他知识 &#x1f333;Java 中操作文件&#x1f338;File 概述&#x1f33b;属性&#x1f33b;构造方法&#x1f33b;方法 &#x1f338;代码示例…

stm32学习笔记:I2C通信协议原理和软件I2C读写MPU6050

概述 第一块&#xff1a;介绍协议规则&#xff0c;然后用软件模拟的形式来实现协议。 第二块&#xff1a;介绍STM32的iic外设&#xff0c;然后用硬件来实现协议。 程序一现象&#xff1a;通过软件I2C通信&#xff0c;对MPU6050芯片内部的寄存器进行读写&#xff0c;写入到配…

OJ输入问题+准备

写在之前&#xff1a; 发现题目输入是这样的&#xff1a; 我的问题&#xff1a;如何通过空格分割这些输入的字符串并分别保存&#xff01;&#xff01;&#xff08;C语言scanf好解决一点但我选择C....&#xff09; C引入了ostringstream、istringstream、stringstream这三个类…

【无标题】计算机主要应用于哪些领域

科学计算&#xff08;或称为数值计算&#xff09;、数据处理&#xff08;信息管理&#xff09;、辅助工程、生产自动化、人工智能。1、科学计算&#xff08;或称为数值计算&#xff09;&#xff1a;早期的计算机主要用于科学计算。目前&#xff0c;科学计算仍然是计算机应用的一…

计算机组成原理-累加器实验——沐雨先生

一、实验目的 1.理解累加器的概念和作用 2.连接运算器、存储器和累加器&#xff0c;熟悉计算机的数据通路 3.掌握使用微命令执行各种操作的方法。 二、实验要求 1.做好实验预习&#xff0c;读懂实验电路图&#xff0c;熟悉实验元器件的功能特性和使用方法。在实验之前设计…

自动控制原理——根轨迹法

本文中所有的截图都来自于西北工业大学卢京潮教授的ppt&#xff0c;侵删。 根轨迹的基本概念 根轨迹——系统性能指标 举例说明&#xff1a; 在使用根轨迹法时&#xff0c;一般说根轨迹就说说闭环意义上的根轨迹&#xff0c;没有开环根轨迹一说。我们习惯使用首1标准型&#…

【prompt四】Domain Prompt Learning for Efficiently Adapting CLIP to Unseen Domains

motivation 领域泛化(DG)是一个复杂的迁移学习问题,旨在学习未知领域的可泛化模型。最近的基础模型(FMs)对许多分布变化都具有鲁棒性,因此,应该从本质上提高DG的性能。在这项工作中,我们研究了采用视觉语言基础模型CLIP来解决图像分类中的DG问题的通用方法。虽然ERM使用标…

Node.js安装及环境配置详细教程

一、下载Node.js安装包 官网下载链接[点击跳转] 建议下载LTS版本&#xff08;本教程不适用于苹果电脑&#xff09; 二 、安装Node.js 2.1 下载好安装包后双击打开安装包&#xff0c;然后点击Next 2.2 勾选同意许可后点击Next 2.3 点击Change选择好安装路径后点击Next&#…

Ubuntu下anaconda迁移到另外的目录

文章目录 前言一、原因二、迁移1.复制到指定迁移目录2. 修改复制后的anaconda3 内容3. 修改对应搭建的每个环境的pip4.修改系统配置文件&#xff0c;使得设置生效 三、实际测试四、总结 前言 好记性不如烂笔头&#xff0c;简单的记录下在ubantu18.04下迁移anaconda的目录 一、…

SpringBoot自定义注解+反射实现 excel 导入的数据组装及字段校验

在前段时间的开发工作中&#xff0c;接手了一个很简单&#xff0c;很普通的开发任务。 要求实现一个单表的基础数据的批量导入功能。 评估下来&#xff0c;用户每次批量导入的数据量也就几千条&#xff0c;也不大。 是不是很简单&#xff0c;没有骗你们吧。但是呢&#xff0…

常用工具——Gradle

前言 实践是最好的学习方式&#xff0c;技术也如此。 文章目录 前言一、Gradle 简介二、文件结构详解 一、Gradle 简介 Gradle 文件是一个独立于 android 之外的一个东西&#xff1b; 是什么 gradle 就是编译、打包 Android 工程的一个构建工具&#xff1b;build.gradle 文件&…

中仕公考:非应届生能考三支一扶吗?

如果是非应届生身份能参加三支一扶考试吗? “三支一扶”是一项公益性的就业计划&#xff0c;全称为“支持教育、支持农村、支持医疗和扶贫”。该计划主要是针对大学生毕业生设置的&#xff0c;通过招募他们到基层单位工作&#xff0c;以解决基层单位人才短缺的问题&#xff0…
最新文章