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

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

3天内不再提示

【干货】示波器扒串口数据

工程师看海 来源:24c01硬件电子 作者:24c01硬件电子 2024-01-12 08:40 次阅读

原文来自:24c01硬件电子

有时候没有逻辑分析仪,恰恰示波器也没买串口解析的功能,那么如何扒串口数据呢?(以下文章也适用于RS485,因为基本差不多)

首先介绍一下串口数据帧的组成:起始位1bit(低电平),数据位8bit,奇偶校验位(一般不加),停止位1bit(高电平)。

所以我选择的数据帧格式为: 1bit起始位+8bit数据位+1bit停止位(大多数都是这样) 首先看一个示波器抓取的串口波形,如下图:

225eeb32-b0e3-11ee-9b10-92fbcf53809c.png

首先看第一位低电平,是起始位,通过读格子,大概可以看出是100us一个bit位,那么反推回去1s/100us≈9600波特率(实际上我设置的也就是9600波特率),9600波特率下的1bit时间为1/9600≈104us。 所以按照串口数据帧的格式,可以将数据大概扒出来,如下图:

226f3d48-b0e3-11ee-9b10-92fbcf53809c.png

然后串口数据格式一般是LSB,即低位在前高位在后,所以去掉起始位和停止位后,这两帧数据分别为: 0011 0101和 0111 0100 然后再根据8421BCD码的编码方式,反推回去就是: 2+14+1和 4+2+14 即数据是3574 那么这也正和我用串口发送给示波器的一样:

2280060a-b0e3-11ee-9b10-92fbcf53809c.png

那么奇校验和偶校验是什么意思呢?1、奇校验数据帧格式为:1bit起始位+8bit数据位+1bit奇偶校验位+1bit停止位数据位和奇偶校验位内的1的总数为奇数比如数据位为0011 0101 (35)总共有4个1,那么奇偶校验位就应该为1,这样才可以保证总共1的个数为奇数。 比如数据位为0111 0101(75)总共有5个1,那么奇偶校验位就应该为0,这样才可以保证总共1的个数为奇数。2、偶校验数据帧格式为:1bit起始位+8bit数据位+1bit奇偶校验位+1bit停止位数据位和奇偶校验位内的总共1的总数为偶数那么,这次不发送3574了,我使用串口发送3575,然后调到奇校验:

2294d562-b0e3-11ee-9b10-92fbcf53809c.png

然后抓取示波器波形,可以看到和之前举的例子一样,第一帧8bit的数据位里有4个1,为了保证有奇数个1,所以校验位为1,这样8bit数据位+1bit校验位的1的总数就为5,是奇数了;第二帧数据里8bit数据里有5个1,所以校验位为0,也是保证最后有奇数个1:(偶校验类似,不在举例)

22b34f4c-b0e3-11ee-9b10-92fbcf53809c.png

感谢您的耐心观看,希望对您的学习有所帮助。 原文来自:24c01硬件电子

如果看到这里,请点赞、收藏、分享三连!

限时免费扫码进群,交流更多行业技术

22c46fb6-b0e3-11ee-9b10-92fbcf53809c.png

审核编辑 黄宇

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

    关注

    111

    文章

    5661

    浏览量

    181787
  • 串口
    +关注

    关注

    14

    文章

    1483

    浏览量

    74525
收藏 人收藏

    评论

    相关推荐

    labview串口接收数据怎么不丢帧

    LabVIEW是一款功能强大的图形化开发环境,广泛应用于数据采集与处理、自动化控制系统等领域。在串口通信应用中,如何保证数据的稳定传输是一个重要的问题。本文将详细介绍LabVIEW串口
    的头像 发表于 01-08 11:38 604次阅读

    labview怎么清除串口缓存的数据

    LabVIEW 是一款功能强大的图形化编程软件,常用于控制、监测和数据采集等应用。当我们使用串口进行数据通信时,有时会遇到串口缓存的数据无法
    的头像 发表于 01-08 11:30 1166次阅读

    stm32虚拟串口接收的数据处理

    在STM32中使用虚拟串口时,我们需要处理接收的数据。接收到的数据可能是来自其他设备的传感器数据、用户输入的命令或其他任何信息。在本篇文章中,我将详细介绍STM32虚拟
    的头像 发表于 12-20 11:22 837次阅读

    干货分享】6种延时电路原理讲解

    干货分享】6种延时电路原理讲解
    的头像 发表于 12-15 09:24 700次阅读
    【<b class='flag-5'>干货</b>分享】6种延时电路原理讲解

    干货分享】MLCC电容啸叫的4个对策

    干货分享】MLCC电容啸叫的4个对策
    的头像 发表于 12-06 17:26 439次阅读
    【<b class='flag-5'>干货</b>分享】MLCC电容啸叫的4个对策

    数据挖掘示波器与传统示波器的区别在哪里?

    数据采集方式:传统示波器通过将模拟信号转换为数字信号进行采集和显示。而数据挖掘示波器主要用于数字信号的采集和分析,例如从数字通信系统、传感器网络等获取的数字信号进行处理和分析。
    的头像 发表于 12-04 14:28 166次阅读
    <b class='flag-5'>数据</b>挖掘<b class='flag-5'>示波器</b>与传统<b class='flag-5'>示波器</b>的区别在哪里?

    串口接收数据的两种方式是什么

    上方是发送数据的例子,那么串口接收又该如何配置,又要在串口发送的例子上做哪些更改呢? 这里我们可以通过查询或者中断的方式来进行接收数据的两种方式。 查询方式就是通过不断的查询RXNE标
    的头像 发表于 11-10 16:20 978次阅读
    <b class='flag-5'>串口</b>接收<b class='flag-5'>数据</b>的两种方式是什么

    pc示波器、台式示波器和手册示波器的区别

    : PC示波器是指将示波器的信号处理和显示功能通过软件实现,在个人计算机上运行的示波器系统。它的主要特点如下: - 显示屏幕广大,可以利用PC的显示器实现更大的显示区域,有利于观察波形细节。 - 软件功能强大,可以进行更复杂的
    的头像 发表于 11-06 11:50 631次阅读

    什么是示波器示波器的原理

    本文分五篇,第一篇介绍示波器的原理,包含模拟示波器和各种常见的数字示波器。第二篇介绍示波器的主要指标:带宽,采样率,内存深度,分辨率;以及示波器
    的头像 发表于 11-03 17:16 1221次阅读
    什么是<b class='flag-5'>示波器</b>?<b class='flag-5'>示波器</b>的原理

    干货分享 | 32种EMC标准电路分享

    干货分享 | 32种EMC标准电路分享
    的头像 发表于 10-17 12:05 427次阅读
    <b class='flag-5'>干货</b>分享 | 32种EMC标准电路分享

    串口如何接收数据 STM32串口接收数据

    如果采用查询接收方式接受串口数据,就会造成接收不及时,还没接收完数据,下一个数据就发过来了,就会把上一个数据覆盖了,造成
    的头像 发表于 07-21 17:07 4931次阅读
    <b class='flag-5'>串口</b>如何接收<b class='flag-5'>数据</b> STM32<b class='flag-5'>串口</b>接收<b class='flag-5'>数据</b>

    串口数据处理任务

    串口接收数据 串口接收最后应有一定的协议,如发送一帧数据应该有头标志或尾标志,也可两个标志都有。这样在处理数据时既能保证
    的头像 发表于 06-22 11:34 369次阅读
    <b class='flag-5'>串口</b><b class='flag-5'>数据</b>处理任务

    如何实现串口数据的接收呢?

    UART接收数据部分是接收另一个串口设备发送的数据,缓存到接收FIFO中。FIFO快要写满时,产生中断通知CPU拿取数据,实现串口
    的头像 发表于 06-05 15:24 2752次阅读
    如何实现<b class='flag-5'>串口</b><b class='flag-5'>数据</b>的接收呢?

    串口/网络数据调试器

    串口/网络数据调试器
    发表于 05-09 14:59 0次下载