[其他ST产品] STM32 HAL库 UART 串口读写功能笔记

[复制链接]
1205|26
 楼主| ym0sly 发表于 2022-12-31 20:02 | 显示全部楼层 |阅读模式
STM32 HAL库 UART 串口读写功能笔记
串行通讯
数据被(逐位按顺序传送)(一般是在同一根线上)
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzA0NDgyNQ==,size_16,color_FFFFFF,t_70.jpg
反之,数据各位在不同的线上(同时传输)的通讯方式称为并行通讯。
5947763b024c026697.png
 楼主| ym0sly 发表于 2022-12-31 20:03 | 显示全部楼层
同步串口
565963b0251053766.png
 楼主| ym0sly 发表于 2022-12-31 20:04 | 显示全部楼层
异步串口(没有时钟线)
1425363b0251f005d9.png
 楼主| ym0sly 发表于 2022-12-31 20:04 | 显示全部楼层
 楼主| ym0sly 发表于 2022-12-31 20:07 | 显示全部楼层
DATA输入为高电平时8050导通,振荡器开始震荡,形成的射频信号发送到天线上;
DATA输入为低电平时8050关闭。
(串口本质输出是高低电平)
 楼主| ym0sly 发表于 2022-12-31 20:08 | 显示全部楼层
但问题是信号只有一个DATA进来,没有时钟线,如何知道通讯开始?
 楼主| ym0sly 发表于 2022-12-31 20:08 | 显示全部楼层
即异步串口如何实现数据同步接发?(我通知你,现在开始通讯了)
8483663b0263731aee.png
 楼主| ym0sly 发表于 2022-12-31 20:10 | 显示全部楼层
我们要实现以下条件:

1、不通讯时,总线必须有个一确定的静态(输出高电平置1)
2、因为没有时钟线,通讯之前,收发双方必须有一个同步的过程:
即 如果是有一个从1到0的跳变,并且持续一段时间,这个位即为Start
3、由于收发双方没有时钟线了,但串行通信是逐位按顺序传送,那么收发双方必须事先知道,一个位在总线上传输的时间;
4、收发双方必须约定高低位在总线上传输的先后顺序;
5、因为收发双方的时钟总是存在误差,所以通讯不可能持续不断进行。
 楼主| ym0sly 发表于 2022-12-31 20:11 | 显示全部楼层
波特率
8707563b026a6c7de2.png
 楼主| ym0sly 发表于 2022-12-31 20:12 | 显示全部楼层
 楼主| ym0sly 发表于 2022-12-31 20:13 | 显示全部楼层
帧结构与数据的传输
7915963b0273294c89.png
 楼主| ym0sly 发表于 2022-12-31 20:14 | 显示全部楼层
 楼主| ym0sly 发表于 2022-12-31 20:15 | 显示全部楼层
1:地址帧含有9个Bit,用于区分帧内信息的性质(地址/数据)
2:一般单片机串口的硬件可以甄别出地址帧并产生标志
3:在串口组网(RS485)中,该功能比较有用)
 楼主| ym0sly 发表于 2022-12-31 20:16 | 显示全部楼层
 楼主| ym0sly 发表于 2022-12-31 20:17 | 显示全部楼层
校验:是指在传输信息的同时传输一些与该信息密切相关的附加信息,以便接收方验证在传输中是否出现错误并加以纠正、控制。
 楼主| ym0sly 发表于 2022-12-31 20:18 | 显示全部楼层
启用奇偶校验后,每个帧也有9个Bit,多出的这个Bit就是“校验信息”。
 楼主| ym0sly 发表于 2022-12-31 20:19 | 显示全部楼层
校验的方法是填充校验位,使得该帧内含的“1”的个数为奇数个或偶数个。
 楼主| ym0sly 发表于 2022-12-31 20:20 | 显示全部楼层
接收方事先设定了与发送方相同的校验方式,通过比对收到数据中“1”的个数来判断该帧是否出现了传输错误
 楼主| ym0sly 发表于 2022-12-31 20:21 | 显示全部楼层
奇偶校验只是一种非常简单的校验方法,并且只能检验出同一帧内奇数个位的错误。
 楼主| ym0sly 发表于 2022-12-31 20:26 | 显示全部楼层
数据与信息的关系

6586463b02a540beb8.png
串口只管传输数据,每个帧只能传输1Byte(8Bit)的数据,如果信息编码超过8个Bit就分多次传输;如何传递接收数据由程序而定义。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

32

主题

330

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部