STM32 UART与串口通信详解

文章目录

  • 前言
  • 4-1 UART与串口通信
  • 串口简介
  • 串口接线
  • 数据帧
  • 串口的数据帧格式
  • 空闲位
  • 起始位
  • 数据位
  • 校验位(位于数据位内部)
  • 奇偶校验
  • 停止位
  • 异步通信和波特率
  • 同步通信
  • 异步通信
  • 波特率
  • 流控的概念
  • 串口流控的工作原理
  • 随堂测试
  • 问题1:说出Tx、Rx、CTS、RTS、VCC、GND的作用
  • 问题2:串口的数据帧最多包含多少个位?
  • 问题3:说出奇校验和偶校验的规则
  • 问题4:通信双方应当如何选择数据帧格式和波特率?
  • 问题4:通信双方应当如何选择数据帧格式和波特率?
  • 前言

  • 本笔记内容,为本人依据B站UP主“铁头山羊”视频内容(本人为其粉丝),归纳整理总结而来,如有侵权,联系立即删除,同时有想详细了解的也可进行观看bilibili铁头山羊 。

  • 硬件:STM32F103C8T6

  • 软件:Keil

  • 4-1 UART与串口通信

    串口简介

  • transmit-发送

  • receive-接收

  • 串口接线

    RX -> TX
    TX -> RX
    VCC -> VCC
    GND -> GND
    

    数据帧

  • 数据帧传输是数据传输的最基本单元
  • 串口的数据帧格式

    空闲位
  • 持续高电平
  • 起始位
  • 输出一个低电平
  • 数据位
  • LSB First(Least Significant Bit First)先传最低有效
  • 校验位(位于数据位内部)
    奇偶校验
    (1)数'1'的个数;
    (2)'1'的个数为奇数位;
    (3)'1'的个数为偶数位。
    
    停止位
  • 表示帧的结束,高电平

  • 长度可以取:0.5,1,1.5,2

  • 异步通信和波特率

    同步通信

  • 收发双方共享时钟
  • 异步通信

  • 收发双方不共享时钟
  • 波特率

  • 波特率:每秒传输码元的个数

  • 正常通信的条件

  • 采用相同的波特率

  • 采用相同的数据帧格式

  • 流控的概念

  • 数据传输完成后的反馈,防止数据丢失
  • 串口流控的工作原理

    (1)TX:数据发送
    (2)RX:数据接收
    (3)CTS(Clear To Send):可以发送。低电平有效,发送方有效。
    (4)RTS(Request To Send):请求发送。低电平有效,接收方有效。
    

    随堂测试

    问题1:说出Tx、Rx、CTS、RTS、VCC、GND的作用

    答:
    (1)Tx:发送数据;
    (2)Rx:接收数据;
    (3)CTS:可以发送;
    (4)RTS:可以接收;
    (5)VCC:供电引脚,如果通信的一方需要给另一个引脚供电,那么就要将通信双方的VCC进行连接;
    (6)GND:提供参考电压。
    

    问题2:串口的数据帧最多包含多少个位?

    答:
    (1)1位起始位,8位有效数据位,1位校验位,2位停止位;
    (2)最多包含12位。
    

    问题3:说出奇校验和偶校验的规则

    答:
    (1)奇校验:数据里的 “1” 太多或太少,补个校验位让 “1 的总数” 变成奇数(补 1 或补 0);
    (2)偶校验:数据里的 “1” 太多或太少,补个校验位让 “1 的总数” 变成偶数(补 1 或补 0)。
    

    问题4:通信双方应当如何选择数据帧格式和波特率?

    答:
    (1)采用相同的数据帧格式;
    (2)采用相同大小的波特率大小。
    

    问题4:通信双方应当如何选择数据帧格式和波特率?

    答:
    (1)采用相同的数据帧格式;
    (2)采用相同大小的波特率大小。
    

    作者:海绵宝宝的月光宝盒

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32 UART与串口通信详解

    发表回复