[STM32] 4-1 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)采用相同大小的波特率大小。