STM32单片机USART串口通信

前言:通信是学习单片机必不可少的的一个环节,通信的方式有很多,本小结先介绍最基本的一种通信方式,以便于了解单片机的通信的模式。

一、USART的基本介绍

通用同步异步收发器 (USART) 进行全双工数据交换。 USART 利用分数波特率发生器提供宽范围的波特率选择。 它支持同步单向通信半双工单线通信 它还允许多处理器通信。 使用多缓冲器配置的DMA 方式,可以实现高速数据通信。
二、一些基本的名词解释
1. 全双工与半双工:全双工是指两个通信端可以同时进行收发数据的模式,一般会有两根通信线TX与RX。半双工是指通信只能由一方传到另一方,另一方接收之后才能进行回应,即通信线上只能同时进行一个方向的数据传输。
2. 电平标准:单片机之间是通过高低电平的变化来传递数据的,这个高低电平的值是需要一个标准统一的。如下图(来自江协科技)
3.一些串口的参数

 单片机空闲状态时一定是高电平,起始位一定会跳到低电平用于告诉单片机,我要发送数据了。然后进入数据位,高低电平跳变传输数据。然后接一个校验位,最后跳到高电平,通讯停止。

三、USART原理框图

先看左上角的TX与RX两个引脚,它们的作用就是TX发送数据,RX接收数据。然后数据进入上方的寄存器当中,移位寄存器的作用就是将数据一位一位地发送出去,对应的就是数据位的高低电平变化。而最上方的两个寄存器就是储存我们程序写入的数据(即准备发送的数据),和储存从别人那里接收来的数据。最下面的波特率控制器用于设置TX与RX引脚信号传输的波特率。

Tx / Rx 波特率 = f CK/16( USARTDIV )
这里的 f CK 是给外设的时钟 (PCLK1 用于 USART2 3 4 5 PCLK2 用于 USART1)
USARTDIV 是一个无符号的定点数。这 12 位的值设置在 USART_BRR 寄存器。
四、USART同步模式(最常使用的模式)
通过在 USART_CR2 寄存器上写 CLKEN位选择同步模式,
CK 脚是 USART 发送器时钟的输出。在起始位和停止位期间,CK 脚上没有时钟脉冲。根据 USART_CR2 寄存器中 LBCL 位的状态,决定在最后一个有效数据位期间产生或不产生时钟脉冲。
因为 CK 是与 TX 同步的 ( 根据CPOL和 CPHA) ,所以 TX 上的数据是随CK同步发出的。
以上为同步模式的时钟时序,具体可看手册530页
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Young member

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值