【嵌入式】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 频率
相关推荐
华科大胡子12 分钟前
在STM32上跑通TinyML
stm32·单片机·嵌入式硬件
iCxhust2 小时前
C#进程管理程序
开发语言·汇编·stm32·单片机·c#·微机原理
zhaoshuzhaoshu3 小时前
嵌入式开发之IIC接口详解-STM32
嵌入式硬件·软件工程
SUNNYSPY0014 小时前
AO3402-ASEMI开关电源专用AO3402
单片机
iCxhust5 小时前
MTK8088单板机制作(一)时钟电路
汇编·单片机·嵌入式硬件·微机原理·8088单板机
2601_958352905 小时前
双麦 DSP 音频拾音模块 A-68:多场景远场语音交互的声学解决方案
嵌入式硬件·音视频·降噪·回音消除·音频处理模块
崇山峻岭之间5 小时前
单片机直流有刷电机速度环PID控制实验
单片机·嵌入式硬件
xiangw@GZ5 小时前
智能锁浮空系统指纹头金属环ESD防护技术分析
单片机·嵌入式硬件
ACP广源盛139246256736 小时前
IX7008 PCIe 交换芯片@ACP#RTX Spark 经济型 8 口扩展芯片(对比 ASM1806)
大数据·人工智能·分布式·嵌入式硬件·gpt·spark·电脑
项目題供诗6 小时前
STM32-DMA直接存储器存储(二十)
stm32·单片机·嵌入式硬件