【嵌入式】MCU常用外设模块介绍

1、 GPIO、USART1、USART2、TIM 分别是什么意思?

这几个都是 MCU 里的外设模块名。


1)GPIO 是什么?

全称:

General Purpose Input Output

通用输入输出口

意思就是:

可以拿来当普通输入脚或普通输出脚用的引脚控制模块。

比如:

  • 点 LED
  • 读按键
  • 输出高低电平
  • 读取引脚状态

2)USART1 / USART2 是什么?

全称:

Universal Synchronous/Asynchronous Receiver/Transmitter

中文常叫:

通用同步/异步收发器

入门时可以先把它简单理解成:

串口通信外设

最常见用途:

  • 串口打印信息
  • 和电脑串口助手通信
  • 和别的模块收发数据

比如经常说的:

  • 9600
  • 115200

这些波特率,一般就是 USART 在干活。

USART1 和 USART2 的区别

本质上它们都是串口外设,只是:

  • 是不同编号的串口模块
  • 引脚位置不同
  • 所挂总线不同
  • 时钟来源不同

可以理解成:

芯片里有不止一个串口口子。


3)TIM 是什么?

全称:

Timer

定时器

它是用来做时间相关控制的外设。

常见用途:

  • 定时中断
  • 延时基准
  • PWM 输出
  • 测频
  • 输入捕获
  • 输出比较

现在 LED 用 HAL_Delay() 闪烁,还没真正用到硬件定时器。

以后你要做:

  • 每 1 秒闪一次灯
  • 呼吸灯
  • PWM 调光
  • 测脉冲频率

这些就经常会用 TIM。


2、巧计"

GPIO

控制引脚高低电平、读引脚状态的模块

USART1 / USART2

用来串口收发数据的模块

TIM

用来计时、定时、输出 PWM 的模块



3、为什么要关心"挂在哪条总线"?

因为这直接影响两件事:

1)要开哪路时钟

比如:

  • GPIOE 在 APB2
  • 那就要开 GPIOE 时钟

2)外设实际时钟是多少

比如:

  • USART1 在 APB2
  • APB2 = 72MHz
  • 那 USART1 的时钟基准和 72MHz 有关

而:

  • USART2 在 APB1
  • APB1 = 36MHz
  • 那 USART2 的计算基准就和 36MHz 有关

这会直接影响:

  • 串口波特率
  • 定时器定时周期
  • PWM 频率
相关推荐
LuDvei1 天前
STM32串行通信DMA的使用
stm32·单片机·嵌入式硬件
似是燕归来1 天前
嵌入式工程师进阶指南:适配器编程设计模式一
c语言·stm32·适配器模式·嵌入式开发
2401_854151551 天前
STM32 I2C 通信 HAL 库踩坑记录
stm32·单片机·嵌入式硬件
蒙塔基的钢蛋儿1 天前
记一次 STM32H723 硬件 Bug 排查:写个 ETH 寄存器,SDRAM 数据飞了
stm32·嵌入式硬件·bug
熊猫_豆豆1 天前
STM32F103R6 PROTEUS9.0 FREERTOS实现双任务流水灯
stm32·单片机·嵌入式硬件
csg11071 天前
电路板抗干扰:电容、电感和弧线布线的应用
单片机·嵌入式硬件·物联网·自动化
piaoyiren1 天前
普中A6 静态数码管显示 数字
单片机·嵌入式·普中a6
Olivia051405142 天前
共模电感在DC-DC变换器中的自谐振频率(SRF)对EMI滤波性能的影响
单片机·嵌入式硬件
Yunhoa2 天前
51单片机(1)
单片机·嵌入式硬件·51单片机
dozenyaoyida2 天前
LSTM 自编码器原理详解:从三门结构到 STM32 端侧异常检测落地
人工智能·stm32·lstm