【嵌入式】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 频率
相关推荐
老k一步步来1 小时前
STM32 HAL库CAN通信核心函数详解,参数以及作用
stm32·单片机·嵌入式硬件
gwf2162 小时前
SSD读写速度深度解析:顺序读写vs随机读写、IOPS、延迟,你的硬盘性能到底怎么看?
git·嵌入式硬件·缓存·github·智能硬件
Freak嵌入式5 小时前
版本混乱 / 依赖缺失?uPyPi:MicroPython 版 PyPI,彻底解决库管理混乱
linux·服务器·数据库·单片机·嵌入式硬件·性能优化·依赖倒置原则
wuyk5556 小时前
77.嵌入式 C 语言中 enum 枚举的工程化实践:告别魔法数字,提升代码可维护性
c语言·开发语言·stm32·单片机·嵌入式硬件
义嘉泰6 小时前
XT25F128F-W Flash芯片全面解析
人工智能·嵌入式硬件·芯片
QH139292318806 小时前
Keysight N9917B N9918B手持式综合微波分析仪
网络·科技·嵌入式硬件·集成测试·信息与通信
longxingiot6 小时前
轻量化单片机数传终端降低物联网开发门槛
单片机·嵌入式硬件·物联网
亿道电子Emdoor8 小时前
【Arm】MSP和PSP的区别简介
c语言·arm开发·单片机·mcu
国产HT1621B8 小时前
YL1650 LED驱动芯片详解:从原理到实战应用(附51单片机驱动代码)
stm32·单片机·嵌入式硬件·mcu·fpga开发·lcd驱动