USART串口外设

USART简介

USART Universal Synchronous/Asynchronous Receiver/Transmitter )通用同步 / 异步收发器(主要是异步通信)
USART STM32 内部集成的硬件外设,可根据数据寄存器的一个字节数据自动生成数据帧时序,从 TX 引脚发送出去,也可自动接收 RX 引脚的数据帧时序,拼接为一个字节数据,存放在数据寄存器里
自带波特率发生器,最高达 4.5Mbits/s
可配置数据位长度( 8/9 )、停止位长度( 0.5/1/1.5/2
可选校验位(无校验 / 奇校验 / 偶校验)
支持同步模式、硬件流控制(可以防止处理数据慢而导致数据丢失的问题)、 DMA 、智能卡、 IrDA LIN
STM32F103C8T6 USART 资源: USART1(APB2)、 USART2(APB1)、 USART3(APB1)

USART框图

接收移位寄存器和发送移位寄存器都是低位先行,
硬件数据流控可以防止丢弃数据和覆盖数据的现象(nRTS反馈是否能接收信号可接收时RTS置低电平;nCTS接受信号)
SCLK控制用来产生同步的时钟信号(用于兼容别的协议)
唤醒单元实现串口挂载多设备
中断输出控制(配置中断是否能通向NVIC)
波特率发生器其实就是分频器

串口引脚

USART基本结构

数据帧

空闲帧和断开帧是写局域网用的(串口不需要)

stm32的串口可以配置停止位长度为0.5,1,1.5,2这四种(区别:停止位的时常不一样)起始位侦测(USART电路输入数据的策略)

输入数据要在采样点的正中央,如果过于靠前或靠后,电平不稳定,采样会出错

输入最好对噪声也一定的判断能力

采样在正中间8,9,10位进行采样,为保证数据的可靠性,这里是连续采样三次,如果有噪声就按照2:1的规则来(噪声标志位置1)

波特率发生器

计算公式:波特率 = fPCLK2/1 (时钟频率)/ (16 * DIV)

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值