【嵌入式】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 频率
相关推荐
星恒讯工业路由器1 小时前
MCU+WiFi与CPU+WiFi模块区别
单片机·嵌入式硬件
LCMICRO-133108477461 小时前
长芯微LD7940完全P2P替代AD7940,是一款14位、逐次逼近型模数转换器(ADC)
单片机·嵌入式硬件·fpga开发·硬件工程·dsp开发·模数转换器adc
进击的小头2 小时前
20_第20篇:嵌入式外设驱动开发基础:寄存器级开发与库函数开发对比实战
arm开发·驱动开发·单片机
guygg884 小时前
基于STM32的智能小区管理系统设计
stm32·单片机·嵌入式硬件
Deitymoon4 小时前
STM32——震动传感器控制led
stm32·单片机·嵌入式硬件
bubiyoushang8885 小时前
51单片机MPU6050 DMP驱动实现
单片机·嵌入式硬件·51单片机
BT-BOX5 小时前
STM32的温湿度防盗安防报警器仿真_LCD1602显示
stm32·安防·烟雾·防盗·lcd1602显示·dht11温湿度·火焰
Deitymoon5 小时前
STM32——继电器
stm32·单片机·嵌入式硬件
hfdz_00426 小时前
无人机无刷电机(BLDC)无感六步换相与过零点检测
嵌入式硬件·无人机·硬件设计
恶魔泡泡糖6 小时前
stm32F103C8T6标准库外部中断的概念
stm32·单片机·嵌入式硬件