欢迎光临
我们一直在努力

stm32单片机

STM32 知识点可以按“内核与系统 → 外设 → 开发与进阶”来梳理。下面是一份常用知识清单,适合学习、复习和面试。

 

一、基础与选型

 

 命名规则:如 STM32F103C8T6

  F:通用/基础系列

  103:子系列

  C:引脚数

   8:Flash 容量

  T:封装

  6:温度范围

系列定位:F 通用、L 低功耗、G 性价比、H 高性能、U 超低功耗安全、WB/WL 无线。

内核:Cortex-M0/M0+/M3/M4/M7/M33。

· 开发工具:STM32CubeMX、CubeIDE、Keil、IAR、ST-Link、J-Link。

 

二、内核与系统

Cortex-M 寄存器:R0-R12、SP、LR、PC、xPSR。

操作模式:线程模式/处理模式,特权级/非特权级。

异常与中断:NVIC、优先级分组、抢占优先级/子优先级、中断向量表。

存储映射:

   Flash:0x08000000

  SRAM:0x20000000

  外设:0x40000000

位带操作:位带别名区,实现原子位操作。

启动流程:上电 → 取 MSP 初值 → 取复位向量 → Reset_Handler → SystemInit → main。

启动模式:BOOT0/BOOT1 决定从 Flash、System Memory 或 SRAM 启动。

 

三、时钟与电源

 

时钟源:HSI、HSE、LSI、LSE、PLL。

时钟树:SYSCLK → AHB → APB1/APB2,注意各总线最高频率。

SysTick:内核定时器,常用于延时和 RTOS 时基。

低功耗模式:Sleep、Stop、Standby;WFI/WFE 指令;RTC/外部中断唤醒。

复位:上电复位、掉电复位、看门狗复位、软件复位、备份域复位。

 

四、GPIO

 

8 种模式:输入浮空/上拉/下拉/模拟,输出推挽/开漏/复用推挽/复用开漏。

寄存器:CRL/CRH、IDR、ODR、BSRR、BRR、LCKR。

复用与重映射:AFIO、引脚复用功能、重映射。

常见应用:点灯、按键、外部中断、软件 I2C/SPI。

 

五、中断与 EXTI

 

NVIC:中断使能、挂起、优先级。

优先级分组:抢占优先级 + 子优先级。

 EXTI:外部中断线、触发边沿、中断/事件模式。

中断服务函数:函数名固定,注意清除中断标志。

 

六、定时器

 

类型:基本定时器、通用定时器、高级定时器。

功能:定时中断、PWM 输出、输入捕获、输出比较、编码器接口、主从触发。

关键寄存器:PSC、ARR、CNT、CCR、CR1。

PWM 公式:

  频率 = 时钟 / ((PSC+1)*(ARR+1))

  占空比 = CCR / (ARR+1)

 

七、通信外设

 

 USART/UART:波特率、同步/异步、中断/DMA、空闲中断接收不定长。

I2C:起始/停止、ACK、7 位/10 位地址、时钟拉伸、死锁处理。

 SPI:全双工、主从模式、CPOL/CPHA、NSS。

CAN:报文、过滤器、位时序。

USB:设备/主机/OTG。

其他:I2S、SDIO、以太网。

 

八、模拟外设

 

ADC:逐次逼近、规则/注入通道、采样时间、分辨率、校准、DMA。

DAC:电压输出、三角波/噪声波。

 比较器、运放、温度传感器、Vref。

 

九、DMA

 

作用:不占 CPU 搬数据,提高效率。

概念:通道、请求映射、优先级、传输方向、循环模式、FIFO、双缓冲。

常见应用:ADC 多通道采集、串口收发、SPI/I2C 大批量传输。

 

十、RTC 与看门狗

 

 RTC:备份域、BKP 寄存器、闹钟、周期性唤醒、32.768kHz 晶振。

IWDG:独立看门狗,LSI 时钟,防程序跑飞。

WWDG:窗口看门狗,喂狗时间有上下限。

 

十一、开发与工程

 

 开发方式:寄存器、标准库、HAL 库、LL 库。

 CubeMX:图形化配置时钟、引脚、外设,生成初始化代码。

工程文件:启动文件、链接脚本、HEX/BIN、分散加载。

调试:SWD/JTAG、ST-Link、断点、单步、printf 重定向。

 

十二、进阶知识点

 

RTOS:FreeRTOS、RT-Thread;任务、队列、信号量、互斥量、事件组。

Bootloader/IAP/OTA:分区、跳转、中断向量重映射。

文件系统:FatFS。

协议栈:TCP/IP、USB、Modbus。

GUI:LVGL、emWin。

电机控制:PWM、编码器、FOC。

安全:安全启动、加密、TrustZone。

 

十三、常见面试题

 

时钟树如何配置?

中断优先级如何分组?

 PWM 频率和占空比怎么算?

ADC 采样时间与转换时间?

I2C 死锁原因与解决?

串口如何接收不定长数据?

DMA 有什么作用?

低功耗模式区别?

 Bootloader 如何跳转?

看门狗原理?

 

赞(0)
未经允许不得转载:171主机测评 » stm32单片机
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址