本教程参考b站江协科技STM32入门教程,视频链接:
"唯一能持久的竞争优势是胜过竞争对手的学习能力。"------盖亚斯
希望对您有帮助。
笔记汇总
接下来的内容纯属凑文章字数,不浪费读者时间,可看可不看。
STM32基本介绍
STM32 是意法半导体(STMicroelectronics)推出的一系列基于ARM Cortex-M 内核的32位微控制器。STM32 系列专为要求高性能、低成本、低功耗的嵌入式应用而设计,具有以下特点:
特点与优势:
-
高性能:采用了 ARM Cortex-M 内核,例如 Cortex-M3、Cortex-M4 等,具有出色的处理性能和运行速度。
-
丰富的外设:包括多个定时器、计数器、PWM 输出、ADC(模拟数字转换器)、DAC(数字模拟转换器)、通信接口(如 SPI、I2C、CAN、USART 等)等,可满足各种不同的应用需求。
-
低功耗:采用了先进的低功耗技术,在不降低性能的情况下有效降低功耗,适合电池供电等对功耗敏感的设备。
-
易于开发:意法半导体提供了丰富的软件和硬件开发工具,如 STM32CubeIDE 集成开发环境、STM32CubeMX 图形化配置工具以及 HAL 库(硬件抽象层)等,帮助开发者快速开发嵌入式应用程序。
-
高集成度:内部集成了复位电路、低电压检测、调压器、精确的 RC 振荡器等,简化了外部电路设计。
-
多种存储选项:具有不同容量的闪存和 SRAM 存储器,可根据应用需求进行选择。
-
兼容性强:全系列产品共用大部分引脚、软件和外设,具有优异的兼容性,方便开发人员进行功能扩展和产品升级。
产品分类:
STM32 按内核架构可分为主流产品(如 STM32F0、STM32F1、STM32F3)、超低功耗产品(如 STM32L0、STM32L1、STM32L4、STM32L4+)、高性能产品(如 STM32F2、STM32F4、STM32F7、STM32H7)等。
STM32F1 系列介绍:
以 STM32F1 系列为例,其中包括"增强型"STM32F103 系列和"基本型"STM32F101 系列等。增强型系列时钟频率达到72MHz,基本型时钟频率为36MHz。它们内置32K 到128K 的闪存,SRAM 的最大容量和外设接口的组合有所不同。STM32F1 系列的参数如下(以 STM32F103 为例):
-
内核:ARM 32 位 Cortex-M3 CPU,最高工作频率 72MHz,1.25DMIPS/MHz,具有单周期乘法和硬件除法功能。
-
存储器:片上集成 32-512KB 的 Flash 存储器,6-64KB 的 SRAM 存储器。
-
电源管理:2.0-3.6V 的电源供电和 I/O 接口驱动电压,具有上电复位(POR)、掉电复位(PDR)和可编程的电压探测器(PVD)。支持 4-16MHz 的晶振,内嵌出厂前调校的 8MHz RC 振荡电路、内部 40kHz 的 RC 振荡电路、用于 CPU 时钟的 PLL 以及带校准用于 RTC 的 32kHz 的晶振。
-
低功耗模式:具有休眠、停止、待机等3种低功耗模式,并设有为 RTC 和备份寄存器供电的 VBAT。
-
调试模式:支持串行调试(SWD)和 JTAG 接口。
-
DMA:拥有 12 通道 DMA 控制器,支持定时器、ADC、DAC、SPI、IIC 和 UART 等外设。
-
ADC:3 个 12 位的 us 级 A/D 转换器(16 通道),A/D 测量范围为 0-3.6V,具备双采样和保持能力,片上还集成一个温度传感器。
-
DAC:部分型号(如 STM32F103xC、STM32F103xD、STM32F103xE)具有 2 通道 12 位 DAC。
-
I/O 端口:最多高达 112 个快速 I/O 端口,不同型号分别有 26、37、51、80 或 112 个 I/O 端口,且所有端口都可映射到 16 个外部中断向量,除模拟输入外,都可接受 5V 以内的输入。
-
定时器:最多可达 11 个定时器,包括 4 个 16 位定时器(每个定时器有 4 个 IC/OC/PWM 或脉冲计数器)、2 个 16 位的 6 通道高级控制定时器(最多 6 个通道可用于 PWM 输出)、2 个看门狗定时器(独立看门狗和窗口看门狗)以及 2 个 16 位基本定时器(用于驱动DAC)。
-
通信接口:多达 13 个通信接口,如 2 个 IIC 接口(SMBus/PMBus)、5 个 USART 接口(支持 ISO7816 接口、LIN、IrDA 兼容、调试控制等)、3 个 SPI 接口(18Mbit/s,其中两个和 IIS 复用)、CAN 接口(2.0B)、USB 2.0 全速接口、SDIO 接口等。
应用领域:
STM32 系列微控制器应用广泛,涵盖工业控制、智能家居、汽车电子、医疗设备、航空航天、通信等众多领域。例如在工业自动化中可用于控制机器人、PLC、变频器等;在家电领域用于智能家居、智能电视等设备;在汽车电子领域用于汽车控制单元、导航等;在医疗设备领域用于血糖仪、心电图仪等;在通信领域用于无线通信模块等。
总之,STM32 系列微控制器以其高性能、低功耗、丰富的外设和易于开发等优点,成为了嵌入式应用开发的理想选择之一。其具体的型号和特性可以根据不同的应用需求进行选择和配置。在实际应用中,开发人员可以根据项目的具体要求,结合 STM32 的各种资源和工具,高效地开发出满足特定功能和性能需求的嵌入式系统。
为什么要学习STM32
首先,STM32 是一款广泛应用于嵌入式系统的微控制器,掌握它能够为您打开嵌入式开发领域的大门。通过学习 STM32,您可以深入了解微控制器的工作原理、硬件架构和编程方法,从而提升您对电子系统的整体理解和掌控能力。
其次,STM32 在众多领域都有应用,如工业控制、智能家居、医疗设备、消费电子等。学会 STM32 编程可以让您有能力参与到这些实际项目的开发中,为解决实际问题提供技术支持。
再者,学习 STM32 有助于培养您的逻辑思维和解决问题的能力。在编程过程中,您需要对各种任务进行分析、规划和实现,这能够锻炼您的思维严谨性和创新能力。
此外,STM32 的学习资源丰富,社区活跃,这为学习者提供了良好的交流和学习环境,便于您不断提升自己的技术水平。
最后,从职业发展角度看,掌握 STM32 技术可以增加您在就业市场上的竞争力,为您争取到更广阔的职业发展空间和更好的薪资待遇。