[stm32] 4-1 USART(1)

文章目录

前言

  • 本笔记内容,为本人依据B站UP主"铁头山羊"视频内容(本人为其粉丝),归纳整理总结而来,如有侵权,联系立即删除,同时有想详细了解的也可进行观看bilibili铁头山羊

  • 硬件:STM32F103C8T6

  • 软件:Keil

4-2 USART与串口通信(1)

USART简介

什么是USART?

  • USART就是STM32内部的串口

USART名字的含义?

  • U:Universal 通用

  • S :Asynchronous 异步(不共享时钟)常用

    • 2根线:TX、RX
  • A :Synchronous 同步(共享时钟)

    • 3根线:TX、RX、CK
  • R:Receiver 接收器

  • T:Transmitter 发送器

如何使用USART?

USART的工作原理

什么是串并转换?

  • TDR 发送数据寄存器

  • RDR 接收数据寄存器

为什么要进行串并转换?

  • 在CPU内部数据的接收和发送,是采用并行接收和并行发送的形式。

  • 在CPU外部数据的接收和发送,是通过IO的串行接收和串行发送的形式进行的。

移位寄存器

  • 每动作一次所有比特位向右移动。

串并行转换电路

  • 并转串
  • 串转并

USART寄存器组和完整框图

  • TDR 发送数据寄存器

  • RDR 接收数据寄存器

  • CR 配置寄存器

  • SR 状态寄存器

  • BRR 波特率寄存器

  • IER 中断使能寄存器

    发送数据寄存器

  • RDR 接收数据寄存器

  • CR 配置寄存器

  • SR 状态寄存器

  • BRR 波特率寄存器

  • IER 中断使能寄存器

相关推荐
oioihoii几秒前
C++23 std::invoke_r:调用可调用 (Callable) 对象 (P2136R3)
开发语言·c++23
一眼青苔12 分钟前
conda添加新python版本环境,如何激活和销毁
开发语言·python·conda
Pseudo…26 分钟前
web技术与Nginx网站服务
开发语言·php
咛辉31 分钟前
spark和Hadoop之间的对比和联系
开发语言
北漂老男孩37 分钟前
远程 Debugger 多用户环境下的用户隔离实践
java·笔记·学习方法
Humbunklung1 小时前
Sigmoid函数简介及其Python实现
开发语言·python·深度学习·机器学习
wusixuan1310041 小时前
树的序列化 - 学习笔记
笔记·学习
__lost1 小时前
MATLAB退火算法和遗传算法解决旅行商问题
开发语言·算法·matlab·遗传算法·退火算法
恶霸不委屈1 小时前
MATLAB函数调用全解析:从入门到精通
开发语言·算法·matlab·匿名函数·函数句柄
建群新人小猿2 小时前
CRMEB-PRO系统定时任务扩展开发指南
android·java·开发语言·前端