【STM32】基于STM32F407实现串口通信

一、通用同步异步收发器 (USART)

1.USART 简介

  通用同步异步收发器 (USART)能够灵活地与外部设备进行全双工数据交换,满足外部设备对工业标准 NRZ异步串行数据格式的要求。USART通过小数波特率发生器提供了多种波特率。
  它支持同步单向通信半双工单线通信,还支持LIN(局域互连网络)智能卡协议与 IrDA(红外线数据协会)SIR ENDEC 规范,以及调制解调器操作 (CTS/RTS)。而且,它还支持多处理器通信
  通过配置多个缓冲区使用DMA可实现高速数据通信。

2.USART 功能说明

  接口通过三个引脚从外部连接到其它设备。任何USART 双向通信均需要至少两个引脚:接收数据输入引脚 (RX)发送数据引脚输出 (TX)

  RX:接收数据输入引脚就是串行数据输入引脚。过采样技术可区分有效输入数据和噪声,从而用于恢复数据。

  TX:发送数据输出引脚。如果关闭发送器,该输出引脚模式由其 I/O 端口配置决定。如果使能了发送器但没有待发送的数据,则TX 引脚处于高电平。在单线和智能卡模式下,该 I/O用于发送和接收数据(USART 电平下,随后在SW_RX上接收数据)。

正常USART模式下,通过这些引脚以帧的形式发送和接收串行数据:

  • 发送或接收前保持空闲线路
  • 起始位
  • 数据(字长 8 位或 9 位),最低有效位在前
  • 用于指示帧传输已完成的 0.5 个、1 个、1.5 个、2 个停止位
  • 该接口使用小数波特率发生器 - 带 12 位尾数和 4 位小数
  • 状态寄存器 (USART_SR)
  • 数据寄存器 (USART_DR)
  • 波特率寄存器 (USART_BRR) - 12 位尾数和 4 位小数
  • 智能卡模式下的保护时间寄存器 (USART_GTPR)

同步模式下连接时需要以下引脚:

  • SCLK: 发送器时钟输出。该引脚用于输出发送器数据时钟,以便按照 SPI 主模式进行同步发送(起始位和结束位上无时钟脉冲,可通过软件向最后一个数据位发送时钟脉冲)。RX上可同步接收并行数据。这一点可用于控制带移位寄存器的外设(如 LCD 驱动器)。时钟相位和极性可通过软件编程。在智能卡模式下,SCLK 可向智能卡提供时钟。
  • nCTS: “清除以发送”用于在当前传输结束时阻止数据发送(高电平时)
  • nRTS:“请求以发送”用于指示 USART 已准备好接收数据(低电平时)

3.USART框图

在这里插入图片描述

二、基于HAL库实现串口通信

1.工程创建

(1)新建工程
选择New Project
在这里插入图片描述
选择芯片型号,并创建工程
在这里插入图片描述

(2)设置RCC

  • 设置高速外部时钟HSE 选择外部时钟源
    在这里插入图片描述

(3)设置串口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值