串口通信与波特率

这篇具有很好参考价值的文章主要介绍了串口通信与波特率。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原文出自微信公众号【小小的电子之路】

串口是串行接口的简称,串行接口是采用串行通信方式的接口。串行通信是一种将需要传输的数据由低位到高位一位一位地在一条传输线上逐个传输的通信方式。

一、串行通信的数据格式

首先来了解一下串行通信的数据格式,如下图所示,串行通信的一帧数据由起始位、数据位、校验位以及停止位组成。

串口通信与波特率

起始位:低电平,标志着一帧数据的开始;

数据位:数据内容,可选择为5、6、7、8位;

校验位:用于确保传输数据的正确性,可分为奇校验和偶校验。奇校验时数据位和校验位中1的总数应为奇数,同理,偶校验时数据位和校验位中1的总数应为偶数;

停止位:高电平,标志着一帧数据的结束。

二、异步串行通信的波特率

串行通信可以分为两种形式:同步串行通信和异步串行通信。

同步串行通信:通信双方在同一时钟控制下同步传输数据;

异步串行通信:通信双方使用各自的时钟控制数据传输。

对于异步串行通信来说,虽然没有同步时钟,但是通信双方必须约定并遵循同样的设置,这就需要异步串行通信中一个重要的参数来设置,该参数即波特率。

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

以115200的波特率为例,即一秒传输115200个二进制数据位,那么每一位的持续时间

串口通信与波特率

因此,在通信双方约定波特率为115200的情况下,只要发送方发送的每位比特位的持续时间为8.68us,那么正常情况下接收方就能准确无误地解析数据。

三、实验测试

接下来利用实验来简单验证一下上述分析:波特率为115200,一位停止位,八位数据位,无奇偶校验位,发送数据为10110101,每组发送间隔100us。

1、仿真测试

仿真测试结果如下图所示,可以看出,发送的二进制数据依次为0101011011,每个比特位持续时间为8680ns,数据发送间隔为117360-2×8680=100000ns,均符合设计要求。

串口通信与波特率

2、输出波形测试

下载程序,测试对应引脚的输出波形,如下图所示,可以看出与仿真结果基本相符。

串口通信与波特率

串口通信与波特率

3、通信测试

通过上位机的串口调试助手接收发送的数据,通过下图所示的结果可以看出,接收到的数据为0xB5,对应的二进制数据为0b10110101,与发送端发送数据相符,通信成功。

串口通信与波特率

 以上就是本次分享的全部内容,谢谢大家!文章来源地址https://www.toymoban.com/news/detail-440622.html

到了这里,关于串口通信与波特率的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PCIe转多串口CH382/CH384时钟和波特率、分频与倍频

    一、相互关系与计算 1.1 时钟、频率和波特率的关系  PCIE串口所支持的波特率与串口基准频率有关,需要根据实际使用的目标波特率调整串口基准频率。串口内部基准时钟来源包括: 外接晶体提供串口时钟:芯片内部具有频率振荡器,可通过外接晶体及电容产生串口所需时钟

    2024年02月14日
    浏览(35)
  • STM32 CAN波特率计算

    CAN通信帧共分为数据帧、远程帧、错误帧、过载帧和帧间隔,本文这里以数据帧为例。 显性电平对应逻辑0,CAN_H和CAN_L之差为2.5V左右。而隐性电平对应逻辑1,CAN_H和CAN_L之差为0V. 数据帧有标准帧和扩张帧两种格式,一个11位,一个29位. 标准帧和扩张帧两种格式区别: 1.扩展帧

    2023年04月23日
    浏览(37)
  • STM32 CAN 波特率计算分析

    CubeMX中配置CAN波特率的这个界面刚用的时候觉得非常难用,怎么都配置不到想要的波特率。接下来为大家做一下简单的分析。 STM32F4的CAN时钟来自APB1 在如下界面配置,最好配置为1个整一点的数。这里配置为40MHz 时钟进入CAN之后,还会被CAN分频系数再分一次 到此,时间元的时

    2024年02月11日
    浏览(41)
  • 单片机CAN波特率及采样点设置

    预分频比位(BRP) 同步段 (Sync_Seg) 传播时间段 (Prop_Seg) 相位缓冲段 1 (Phase_Seg1) 相位缓冲段 2 (Phase_Seg2) 时间份额TQ(us) = (2*(BRP+1))/Fosc(MHz); 标称位时间 = TQ * (Sync_Seg + Prop_Seg  + Phase_Seg1 + Phase_Seg2); 采样点 = (1 + Prop_Seg  +Phase_Seg1 )/(1|+Prop_Seg  + Ph

    2024年04月26日
    浏览(37)
  • UART-UART非常见波特率调试应用笔记

    UART非常见波特率调试 应用笔记 串口通信中的波特率选择,对于确保可靠的数据传输至关重要。波特率是衡量单位时间内传输的比特数,常见的波特率包括300、1200、2400、9600、115200等。不同波特率适用于不同的应用场景和通信要求。较低的波特率适用于较长的通信距离或对传

    2024年02月07日
    浏览(55)
  • CAN总线(五)STM32的CAN波特率设置方法(完整版)

     ①HSI是高速内部时钟,RC振荡器,频率为8MHz。   ②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 ③LSI是低速内部时钟,RC振荡器,频率为40kHz。 ④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。 ⑤PLL为锁相环倍频输出,其时钟输入

    2024年02月07日
    浏览(30)
  • 一文搞清楚码元速率(波特率)和比特速率(比特率)的区别

    比特:记为bit,是最小的单位。取值为一位二进制数,0或1。 字节:记为Byte,简写B。1B=8bits 码元 在数字通信中常用时间间隔相同的符号来表示一个二进制数字,这样的时间间隔内的信号称为(二进制)码元。而这个间隔被称为码元长度。值得注意的是当码元的离散状态有大于

    2024年02月06日
    浏览(40)
  • ESP32串口通信 双机串口通信

    环顾论坛居然无使用uart进行双击通信的案例或者讲解!!! 还是自己摸索吧!环境依旧是arduino(熟练使用ESP32后必得用vs code,这个IDE居然有时候函数不能跳转!!!) 双向通信代码 先贴代码(使用串口2,GPIO16、17): esp32发送端 esp32接收端 注意 :接收端不采用循环,目的当

    2024年02月10日
    浏览(45)
  • 树莓派学习笔记--串口通信(配置硬件串口进行通信)

            树莓派4b的外设一共包含两个串口: 硬件串口(/dev/ttyAMA0) , mini串口(/dev/ttyS0)         硬件串口由硬件实现,有单独的波特率时钟源,性能高,可靠;而mini串口性能低,功能单一。所以一般都使用硬件串口。         树莓派的串口又分为主串口与辅助

    2024年04月26日
    浏览(34)
  • 【51单片机】串口通信&&使用串口通信控制LED灯

    🎊专栏【51单片机】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Promise】 🥰大一同学小吉,欢迎并且感谢大家指出我的问题🥰 目录 🍔串口通信 😎代码   🍔串口初始化 ⭐分析  🏳️‍🌈确定T1的工作方式 🎈TMOD=0X20;  🏳️‍🌈确定T1的初值 🎈

    2024年02月17日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包