[STM32] 4-1 UART与串口通信

文章目录

前言

  • 本笔记内容,为本人依据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)采用相同大小的波特率大小。
相关推荐
侃侃_天下1 天前
最终的信号类
开发语言·c++·算法
_落纸1 天前
三大基础无源电子元件——电阻(R)、电感(L)、电容(C)
笔记
echoarts1 天前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
Alice-YUE1 天前
【CSS学习笔记3】css特性
前端·css·笔记·html
2303_Alpha1 天前
SpringBoot
笔记·学习
Aomnitrix1 天前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式
每天回答3个问题1 天前
UE5C++编译遇到MSB3073
开发语言·c++·ue5
伍哥的传说1 天前
Vite Plugin PWA – 零配置构建现代渐进式Web应用
开发语言·前端·javascript·web app·pwa·service worker·workbox
晶振厂家-晶发电子1 天前
晶振在5G时代的角色:高精度时钟的核心支撑
单片机·嵌入式硬件·5g·晶振·电子元器件·晶振知识
F137298015571 天前
WD5030A 芯片,12V降5V,输出电流12A,电路设计
stm32·单片机·嵌入式硬件·汽车·51单片机