当前位置:首页 » 《随便一记》 » 正文

STM32——串口通信原理_骤雨南山下的博客

24 人参与  2022年06月03日 17:40  分类 : 《随便一记》  评论

点击全文阅读


STM32——串口通信

    • 一、硬件部分
      • 1、RS232标准
      • 2、USB转串口(TTL)
      • 3、原生的串口到串口(TTL->TTL)
    • 二、串口通信协议
    • 三、STM32串口通信功能框图
      • 1、引脚
      • 2、USART通信相关寄存器(最好过一遍,或者在试验之后回过来看一下,了解一下其工作机制)
      • 3、波特率

一、硬件部分

RS232通信和TTL的区别只有一点,那就是在于硬件机制(电平),如果需要做RS232和TTL的转换,那就需要借助转换芯片来完成。
在这里插入图片描述

TTLRS232
0-5V-15 - 15V
高电平置1,低电平置0高电平置0,低电平置1

1、RS232标准

在这里插入图片描述

2、USB转串口(TTL)

在这里插入图片描述

3、原生的串口到串口(TTL->TTL)

在这里插入图片描述

二、串口通信协议

在这里插入图片描述

起始位:由一个逻辑0的数据位表示

停止位:由0.5、1、1.5或2个逻辑1的数据位表示,通常选用1个位

有效数据:起始位后面紧接着就是有效数据,有效数据的长度常被约定为5、6、7、8或9位

校验位:校验位是可选的,为数据提供抗干扰性。
校验的方法主要有:
1、奇校验(odd):有效数据和校验位中“1”的个数为奇数
2、偶校验(even):有效数据和校验位中“1”的个数为偶数
3、0校验(space):不管有效数据内容是什么,校验位总是0
4、1校验(mark):同上,校验位总是1
5、无校验(noparity):数据包中不包含校验位

三、STM32串口通信功能框图

使用单片机外设之前,要先看看USART(通用同步异步收发器)的功能框图:
在这里插入图片描述
图片来源:STM32中文参考手册 25-3章节

我们将上面的功能框图划分成四个部分:

1、引脚

通过上图我们可以看到一共有8个引脚:

引脚功能
TX数据发送
RX数据接收
SCLK时钟,仅同步通信时使用
nRTS请求发送(Request To Send)
nCTS允许发送(Clear To Send)
SW_RX、IRDA_OUT、IRDA_IN红外相关配置

在这里插入图片描述
在这里需要注意的是:USART1-3是支持同步通信的,但是其挂载的总线不同,如果要从USART1换成USART2,那么其时钟也要修改
对于一款芯片的引脚功能,可以通过STM32F10X数据手册——Pinouts and pin description查询
ST每个系列的芯片都有一个数据手册,里面有引脚的详细功能,对于部分引脚来说,都是多个功能复用的,在写程序的时候享用到哪个功能,就在初始化时对它进行相应的配置,即通用功能配置和相应功能的初始化配置。

2、USART通信相关寄存器(最好过一遍,或者在试验之后回过来看一下,了解一下其工作机制)

如下图所示,USART_DR寄存器是9位有效的,包含一个发送数据寄存器TDR和一个接收数据寄存器RDR,是一个地址对应的两个物理内存。对应的是USART的全双工、半双工通信机制。
在这里插入图片描述
图片来源:STM32中文参考手册 25.6.2章节

我们先来看一下串口数据格式:
在这里插入图片描述
具体用多少位,是由USART_CR1寄存器决定的:
在这里插入图片描述
在这里插入图片描述
这里的n表示不确定,是由另外的寄存器来配置的,控制停止位的寄存器是USART_CR2:
在这里插入图片描述
在这里插入图片描述
校验位是由USART_CR1寄存器控制
在这里插入图片描述
在这里插入图片描述
当校验位出错时,就会产生校验错误,这时USART_SR的PE位就会置1:
在这里插入图片描述

3、波特率

在这里插入图片描述
在这里插入图片描述


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/41321.html

串口  寄存器  数据  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1