stm32 USART串口外设

USART简介

USART(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步收发器。USART是stm32单片机内部的外设。USART可以根据内存中的数据生成数据帧的时序发送出去,也可以接收RX引脚的数据帧时序拼接为数据。USART可配置数据位长度是8或9,停止位长度0.5/1/1.5/2,可选效验为可以是无效验、奇效验、偶效验,最高速度可达4.5Mbits/s。USART资源有USART1、USART2、USART3。

USART在单片机中的框图

  1. 数据通过RX引脚进来,到接收移位寄存器。
  2. 数据通过发送移位寄存器出来,通过TX发送出去。
  3. TDR是发送数据寄存器。
  4. RDR是接收数据寄存器。
  5. nRTS是请求到发送Request To Send,n是低电平有效,当可以接收数据时,发送一个低电平,表示对方可以发送数据了。请求发送意思就是现在可以发送数据了。
  6. nCTS是清除发送Clear To Send,n是低电平有效,当接收到对方低电平信号时,就停止发送数据。
  7. SCLK是输出时钟,可以让从机不知道波特率的情况下自适应。
  8. 唤醒单元可以实现多设备通信。
  9. 标志位:TXE发送寄存器为空,RXNE接收寄存器非空。
  10. 中断控制,控制中断到NVIC的通路。

stm32 USART串口的引脚

通用同步异步收发器的引脚由AFIO重映射到GPIO上。

USART1的收发引脚如下

TX > PA9

RX > PA10

USART2的收发引脚如下

TX > PA2

RX > PA3

USART3的收发引脚如下

TX > PB10

RX > PB11

USART简化结构图

1、系统时钟通过波特率发生器产生的时钟通向,发送控制器和接收控制器。

2、发送控制器和接收控制器用于控制发送和接收移位。

3、通过发送数据寄存器TDR和发送移位寄存器的配置将数据一位一位的发送出去。

4、通过引脚复用,将数据映射到针脚。

stm32 USART接收数据采样

1、采样时将一位分成16次采样。

2、起始位的采样如果前7位有3位是噪音,或8、9、10位有1次是噪音则不算。

3、8、9、10位保证是在没一位的中间进行采样。

  1. 数据帧如果8、9、10位有一位是噪音,按照2/3的比例决定该为是0还是1。
  2. 产生噪音时会在标志位上标识数据有噪音。

波特率

波特率由系统时钟和波特率寄存器系数BBR决定。

波特率 = 时钟频率 / 16 * BBR

因为stm32时钟频率是固定的,要产生指定频率的波特率,所以波特率系数BBR是一个可以存放小数的寄存器。

USB转串口

usb有4根线,分别是GND、D+、D-、VCC。

usb标准供电是5V。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值